2010-01-04 38 views
2

在我們的團隊中,我們通常將所有任務推送到不同的分支,然後發佈管理員檢查這些分支並將它們合併到「主」分支中Git post-receive - 如何檢查推送分支是否與主合併

有時團隊成員忘記合併他們的分支與主分支(之前推) - 所以我想要做的是 - 在用戶推後輸出一條消息「請合併主」 - 我想我需要檢查一些東西post-receive hook on remote ..是否有一些例子?或者我應該基本上做什麼?

更新:主要的原因 - 儘量減少潛在衝突的數量(因爲提交者(不釋放經理)將解決這些問題)

回答

2

如果git cherry new-branch master有任何輸出,那麼在推送之前有人沒有重新綁定。

0

你真的不想讓縱橫交錯的合併。主題分支應該合併爲主,或者分支應該保持分開,合併主。

也許你正在尋找的是一個分支在被推動之前被重新分配給主人,所以潛在衝突的數量被最小化,因爲貢獻者已經解決了他們中的大部分。

+0

確切地說 - 我想要的是 - 最小化衝突數 – 2010-01-04 07:36:37

1

我想通過「與主人合併」,你實際上的意思是在主人之上的重設。

每個開發人員都應該:

  • 拉主
  • 重訂其對主人的頂部分支推

爲了釋放經理之前,有一個快進只合並在審查分支之後。
如果出現任何類型的衝突,相同的發佈經理應通知開發人員,要求他(再次)拉出主人並進行重新綁定。
這樣,只有開發人員負責解決衝突,而不是發佈管理器。

rebase vs. merge


對於一個自動的過程,我會去與中央update hook,這將嘗試執行合併掌握,並檢查「快進」是輸出的一部分命令。如果沒有,掛鉤將失敗,並顯示git send-email
我目前沒有這樣的腳本的例子。

+0

是的,這就是我想要完成的 - 但主要問題是開發人員忘記拉大師和rebase - 所以我希望他們recive通知他們忘記做這個 – 2010-01-04 07:46:16

1

這樣做並不是一個好方法。有很多複雜的問題,最明顯的一點是你的從大師/推到大師的操作不是原子的。即有人可能會推動中間的東西。我寧願建議你看看例如Gitorious這使得發佈經理的工作變得更容易。他可以很容易地看到提交包含的內容,並可以輕鬆接受/拒絕提交。

但您可能會發現git-wtf有幫助。它顯示瞭如果您仍然堅持嘗試自動化解決方案,如何將本地存儲庫與遠程存儲庫進行比較。