2013-01-07 90 views
2

假設我有兩個本地分支:master & dev。我想強制所有推到master分支到一個叫做master的repo上,並且所有的都會將dev推到另一個叫做dev的。強制git將不同的分支推送到不同的回購站

爲什麼?因爲我想維護兩個持續集成環境,每個回購一個。

什麼我真的想要做的是確保主回購拒絕所有分支以外的主反之亦然。根本的是,我不會無意中將錯誤的分支推向錯誤的回購。

任何想法?

回答

1

使用

​​

定義默認上游位置。

這不會完全保護你,但如果你使用「推」沒有參數它應該去右邊的遠程分支。

避免用「+」或--force推送也可以。如果服務器使用類似gitolite的東西,請不要向您的用戶授予「+」特權。這會否定非快速推進。

+0

非常有趣,tks。真正酷的是找到一種方法來讓遠端拒絕除配置的分支之外的任何分支。這樣用戶就會意識到錯誤並將其推向正確的分支。 –

+0

據我所知git沒有發送任何關於本地分支名稱的信息在正常推送服務器上。服務器沒有機會做出決定。在git郵件列表中,有一個針對預先推送鉤子的補丁建議,可以解決客戶端的問題,但是我不知道這是否將包含在git中。 – murraybo

+0

感謝murraybo,這非常有用 –

相關問題