2014-03-13 51 views
1

正如我的標題所暗示的那樣,當我檢出一個新分支並使用git branch -u origin/master時,它確實會跟蹤原點/主標記 - 不過,僅適用於pull。當我在CURRENT分支上執行push時,git會將我的主分支推送到origin/master。這混淆了我在幾個方面:git --set-upstream-to被忽略,其他分支被推送

  1. 什麼是「軌道」的真正含義 - 我認爲這意味着軌道都pushpull

  2. 如何push工作?到目前爲止,我仍然認爲push適用於當前分支,那麼爲什麼它推動我的主分支?

  3. 如何真正爲push設置上游?

回答

2

關係設置正確,但git的默認推送行爲並不關心它。您需要將您的push.default配置設置爲simpleupstream

沒有參數的推送將執行任何操作push.default所說的,默認情況下它將嘗試使用同樣存在於遠程的名稱推送所有分支。

您可以查看關於push.default的git-config文檔以獲得可能性的概述。

+0

此默認值將在Git 2.0中更改。然後默認會變成'簡單'。 – LopSae

+0

是的,無論何時git 2.0終於發佈,該版本將默認更改。 –

1

當您創建一個本地分支,它是推動遠程首次使用

git push origin your_branch -u 

自動跟蹤本地遠程分支的時間都拉和推。

+0

這與設置上游相同 - 僅用於「拉」而不用於「推」 – Xufeng