繁体   English   中英

在git子树拉之前是否需要进行git fetch?

[英]Is a git fetch necessary before git subtree pull?

我正在参考以下文章: git subtree博客条目

其中,列出了以下命令:

git remote add -f tpope-vim-surround https://bitbucket.org/vim-plugins-mirror/vim-surround.git
git subtree add --prefix .vim/bundle/tpope-vim-surround tpope-vim-surround master --squash
git fetch tpope-vim-surround master
git subtree pull --prefix .vim/bundle/tpope-vim-surround tpope-vim-surround master --squash

我的问题是:

git fetch tpope-vim-surround master什么需求?
下一行列出的git pull是否多余?

我相信它是最近修复的,但是较旧版本的git subtree需要在本地存在具有正确名称的分支,然后才能远程获取它,否则它将失败,并显示“ foo不引用提交”。

因此,可能是为了与之兼容。

git pull实际上是2个命令的别名: git fetch && git merge因此,如果您正在运行git pull ,则实际上也要进行pull fetch。

下一行列出的git pull是否多余?

提取功能是什么?

为了理解获取,让我解释一下git场景之外发生的情况。
Git将其内容存储在.git文件夹中。 让我们将其视为git内部文件系统。

当您执行git fetch它实际上会更新内部git文件系统(更准确地说是包和索引文件)。 merge更改merge到所需分支之前, fetch 不会更新您的工作目录

什么是git git pull?

正如关于fetch解释, git pull实际上是2个命令的别名: git fetch && git merge因此每次执行git pull您都在更新git内部文件系统+将这些更改合并到所需的分支中(在大多数情况下,您的当前科)


因此,回答您的问题:

下一行列出的git pull是否多余?

答案是第一次提取是多余的,而不是第二次提取。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM