[英]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
不会更新您的工作目录
正如关于fetch
解释, git pull
实际上是2个命令的别名: git fetch && git merge
因此每次执行git pull
您都在更新git内部文件系统+将这些更改合并到所需的分支中(在大多数情况下,您的当前科)
因此,回答您的问题:
下一行列出的git pull是否多余?
答案是第一次提取是多余的,而不是第二次提取。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.