2017-07-25 122 views
-1

假設我已經運行了git fetch,現在我想運行git pull,將我的本地myBranch更新爲我的origin\myBranchgit pull沒有更新遠程設備

但是!!同時,在運行fetch後,我的網絡連接已經下降:(現在,當我運行git pull時它失敗了,因爲它看不到remote。但是我仍然想要做本地部分的拉。

有沒有辦法告訴git pull而不做初始git fetch

注意運行:? 我可以git reset --hard更新myBranchgit pull並不永遠只是做

我想另一種方式。把這個問題改爲「第二個命令滿足:git pull = git fetch + git ???「?

回答

1

實際上這取決於您的配置。

在默認配置中,如果你在my_branch有其作爲origin/my_branch上游,然後git pull可視爲

get fetch 
get merge origin/my_branch 

配置(或命令行參數)可以改變什麼將被合併。配置也可以將第二步從合併更改爲rebase。所以當你說

「什麼第二個命令滿足:git pull = git fetch + git ???」?

沒有一個答案是什麼???是,但默認它會被合併。

3

git pull實際上git fetch + git merge是:

+0

哦,是所有?呵呵。涼。 – Brondahl

+1

正如[文檔](https://git-scm.com/docs/git-pull)所解釋的那樣:*「在默認模式下,'git pull'是'git fetch'的縮寫,後面是'git merge FETCH_HEAD' 。「* – axiac

+0

最新的本地工作副本最簡單的方法是合併你的本地副本遠程回購('Git fetch'更新):'git merge origin/myBranch'。 – gucce