2012-03-12 183 views
3
[~] $ git branch 
* callgraph 
    master 

如何「暫停」一個git分支。例如,分支「主」不是最新的,但是現在我希望所有團隊都使用分支「callgraph」 - 因此爲了避免錯誤,在這個分支上工作應該被禁用。如何暫停git分支?

後來的後來,我將合併與主和重新激活該分支調用圖...

+0

請參閱[如何編寫git鉤子以限制寫入分支?](http://stackoverflow.com/q/4114417/11343)尋求答案 – CharlesB 2012-03-12 09:32:43

+0

@CharlesB是一個好主意,但是,您需要爲所有的團隊和你不能推它.. – JohnJohnGa 2012-03-12 09:39:14

+1

你不能強制團隊的回購掛鉤,所以沒有真正的解決方案 – CharlesB 2012-03-12 09:44:11

回答

3

在本地,你不能限制任何人不承諾他們的本地分支機構。

用例如gitolite你可以改變權限,使某些分支只能讀取。

imo最好最簡單的方法仍然是與開發人員溝通。 「嘿,現在我們用分支xyz,好嗎?」。

2

你爲什麼不直接告訴你的團隊承諾調用圖?

例如,您可以從主分支中創建一個標籤並將其刪除。該標籤只是在那裏恢復主分支後,任何提交到該分支然後被拒絕(離開困惑的開發人員)

如果你想通過hooks做到這一點,這是可能的 - 你需要預先接收掛鉤期望在stdin「oldref newref refs/heads/master」。在預接收鉤子中,如果它是主分支 - 返回一個非零退出代碼,推送將被拒絕(讓困惑的開發人員)。

請注意,您始終可以使用git push -f將主設備恢復爲任何給定的提交。