我参考了以下文章:git subtree blog entry。
除此之外,还列出了以下命令:
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不是多余的吗?
答案 0 :(得分:3)
我认为最近修复了它,但是git subtree
的旧版本需要一个具有正确名称的分支才能在远程获取它之前在本地存在,否则它将失败并且“foo不引用提交。“
所以它可能与之相容。
答案 1 :(得分:2)
git pull
实际上是2个命令的别名:git fetch && git merge
所以如果你正在运行git pull
,你实际上也在进行拉取。
下面的下一行列出的git pull不是多余的吗?
为了理解fetch,让我先解释一下git中的场景beyhond。
Git将其内容存储在.git
文件夹中。让我们将其视为git内部文件系统。
当你执行git fetch
时,它实际更新了内部git文件系统(更准确的包和索引文件)。在fetch
对所需分支进行更改之前,merge
不会更新您的工作目录
正如关于fetch
的解释,git pull
实际上是2个命令的别名:git fetch && git merge
所以每次执行git pull
时都要更新git内部文件系统+将这些更改合并到所需的分支(在大多数情况下是您当前的分支)
所以回答你的问题:
下面的下一行列出的git pull不是多余的吗?
答案是第一次提取是多余的,而不是第二次提取。