![](/img/trans.png)
[英]Syncing fork with upstream: git fetch + git checkout + git merge vs. git checkout + git pull
[英]Git: fetch vs. pull, in the context of this Git cheat sheet
拉属于两个箭头(与之相邻的箭头)。 拉包括获取; 它会更新您的本地存储库(与访存相同),还会更新您的本地工作区。
尝试使用fetch
下方的箭头表示的是,当您执行pull
,您将同时更新本地存储库和工作区。 因此, pull
都为本地回购和工作区。
git pull
本质上是git fetch
& git merge
。
这是奥利弗·斯蒂尔 ( Oliver Steele)关于所有这些如何组合的图像 :
链接跟随。
fetch
和merge
都merge
远程回购同步到本地回购,这正是该图所传达的。 因此,它按照图表是正确的。 如前所述,前者不合并,而后合并则是同步到本地仓库后。
从git docs :
将更改从远程存储库合并到当前分支。 在其默认模式下,git pull是git fetch的缩写,其后是git merge FETCH_HEAD。 更精确地讲,git pull使用给定的参数运行git fetch并调用git merge将检索到的分支头合并到当前分支中。 使用--rebase,它将运行git rebase而不是git merge。
所以git pull做两个工作,第一个git fetch和第二个git merge。 获取更新您的本地存储库,并合并更新您的工作目录。 因此,两个箭头都代表拉动效果很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.