2012-05-10 40 views
3

當我使用例如:It從遠程分支創建一個新的分支,我得到了錯誤的遠程追蹤設定當遠程跟蹤正確:例如:It - 成立了創建分支

我創建遠程分支裁判本地分支優點1 /頭/主,並立即推向上游。該followign遠程跟蹤被配置在我的.git/config文件:

[branch "feature1"] 
    remote = origin 
    merge = refs/heads/master 

所以,拉和推該分支將拉動和/遠程主分支拉。我希望下面的跟蹤配置,而不是:

[branch "feature1"] 
    remote = origin 
    merge = refs/heads/feature1 

我知道我甚至可以從例如:It修復它,但我很擔心我的團隊其他開發人員並沒有意識到這一點,並推動未完成的功能,以主分支。

我做錯了什麼?

+0

Egit 3.2終於(2014年2月)提供在推送時設置上游分支!請參閱[我的編輯答案](http://stackoverflow.com/a/10547268/6309) – VonC

回答

0

也許你應該建議開發者從遠程跟蹤分支不創建功能分支(例如起源/主人),但從本地(主)。這樣,EGit默認不會設置任何遠程追蹤。

如果您決定首次發佈該分支,應該可以在bug 378960實施之後設置遠程跟蹤(相當於git push --set-upstream)。

+0

如果您需要將共享項目分支推送到github,那麼這不是一個很好的答案。在這種情況下,沒有理由不能在創建時正確設置遠程跟蹤。 –

+0

我在下面編輯了我的答案,以反映錯誤378960終於解決了! – VonC

1

在默認情況下,從遠程節點創建分支時,Egit將採用上游分支作爲合併參數。
這意味着,如果您想強制執行僅從本地分支master推送到remote/master的策略,則可以在本地嘗試執行該策略。

檢查例如:It尊重一個git config push.default current具有相同的名稱(這實際上可能成爲default policy after git1.7.10)僅推當前分支到上游分支
但是,這有一個問題,就是確保每個開發人員在其回購中都有該策略。

(我不認爲你可以在「中央」回購之一,在那裏你可以添加一個server-side hook像一個update鉤強制執行:該腳本採取的分支被更新的名稱(即在這裏「master」,在下游回購分支的不是名稱,即這裏的feature1')


注:bug 378960爲已解決(2014年2月)在Egit 3.2已被標記:

推科/初始推力巫師簡化推動一個分支並且還允許通過按壓操作創建的新的分支的上游配置:

https://wiki.eclipse.org/images/6/6f/Egit-3.2-PushBranchWizard.png