2017-04-03 23 views
4

我們在工作中有三個分支最好的方式,以避免合併一個分支到另一個

  • 發佈
  • 發展

我們發展成爲一個立足於develop一個分支,完成後,我們將該開發合併到release之一中以供測試應用程序使用。同時,我們不斷開發和合並develop

其中的release已經過測試,我們合併爲master。我們永遠不應該直接將發展融入主人,而是要自動避免人爲因素的發生。

有沒有讓分支不兼容的混帳方法,所以任何嘗試將一個合併到另一個被拒絕?有沒有插件或什麼?

+0

我的第一個想法是「git鉤子」,但顯然沒有「預合併」鉤子。第二個想法:也許你不應該打破慣例? 'master'是一個「特殊」分支名稱。這是合併請求的默認目標分支等。可以說,分支是_meant_將合併到主。 –

+0

至於實際的問題,即使你在_preventing_這樣的合併中沒有成功,我相信在事實之後可以_detect_它們(以及手動撤消或某物)。 –

+0

「一個人的版本經過測試,我們合併成一個主人」 - >在任何地方我都看到這是另一種方式......在主人的測試中,然後發佈版本 –

回答

4

最好的辦法是在接收端安裝一個pre-receive掛鉤(即在你的中央「推」存儲庫中)。

https://git-scm.com/book/gr/v2/Customizing-Git-Git-Hooks

第一個腳本從客戶端 搬運推運行時預先獲得。它需要從stdin中推送 的引用列表;如果它退出非零,它們都不被接受。你可以用 這個鉤子去做一些事情,比如確保更新的 引用不是非快進的,或者對所有的 引用和文件進行訪問控制。

查看文檔和.git/hooks/*.sample的例子鉤子,你應該能夠把東西在一起(即,經過你有作爲命令行參數的引用,檢查每個人是否包含您的無效的合併之一,如果是這樣,則爲exit 1)。讓我們知道,如果你似乎無法得到它的工作。

要確定是否要接受合併,您可以通過git log獲得創意。

相關問題