2013-07-11 29 views
1

之間有什麼區別:不同的分支定義

混帳推起源HEAD:裁判/爲/主

混帳推起源裁判/對/ master

不應該第二個命令也推動更改s到遠程回購origin並移動HEAD?

回答

3

'refspec'選項位於'repository'名稱後面。

根據--help頁的Refspec是在

<source ref>:<destination ref> 

裁判的形式通常是分支機構的名稱,它意味着你使用「源裁判」更新「目的地裁判」。
所以

git push origin HEAD:refs/for/master 

意味着使用HEAD(當前分支)更新遠程主

還可以省略 '目標REF' 的一部分。如果你這樣做,git會嘗試找到名稱與'source ref'完全相同的遠程分支。
所以

git push origin refs/for/master 

意味着使用本地「參/對/主」分支來更新遠程「參/對/主」分支。

但是/ for /被gerrit使用,而不是您的本地存儲庫。所以git找不到本地'refs/for/master'分支,並且無法執行任何操作。

+0

+1非常簡潔的解釋! – Vikram