![](/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.