2017-07-18 98 views
0

我感到困惑git的差異:分行

git fetch origin master VS git fetch origin master:master

我知道首先會從存儲庫和指定的分支中獲取。

第二個git fetch origin master:master呢?

回答

4

您在這些示例中變化的參數稱爲refspec

在第一個示例中,您使用的是指定要讀取的源參考的簡寫(master),但未指定要更新的目標參考。默認行爲將適用,其中典型設置意味着origin/master將被更新。

第二個示例中,您提供一個源(master),然後是一個:將目標與目標(也是master)分開。這將嘗試直接更新本地回購的本地master分支 - 而不是origin/master遠程分支ref。它可能會失敗(例如,如果本地回購是默認配置中的非回購回購,並且已檢出master)。

如果你想使用顯式的Refspec但你還是要更新的遠程裁判,你可以說

git fetch origin master:origin/master