我們在我們的工作流程中有三個主要分支。GIT掛鉤阻止實驗分支被推送到發佈版或主分支
TEST(試驗),RELEASE(功能將在下一個版本)和MASTER(只發布)
我們從RELEASE功能分支,首先合併功能分支測試,如果他們確定,合併這些批准功能分支到RELEASE。
我的問題是:由於TEST分支包含一些我們將不會發布的提交/功能,我們不希望它誤合併(或故意)合併到RELEASE或MASTER中。
我在某處讀到了防止在本地存儲庫中合併的可能性或可行性,我認爲這不會解決我的問題。
因此,當新ref在其提交日誌中包含TEST分支的特定提交ID時,可能最好防止更新主存儲庫中的MASTER或RELEASE分支引用(通過推送到原點)。
因此,我只會對TEST分支進行特定的提交,並記錄它的提交ID。
每當有人想推動主或釋放分支,我會檢查這個推動是否會更新我的refs/heads/master或refs/heads/RELEASE到一個提交引用,其中包含那個壞的提交ID在其歷史和中止。
因爲我不是BASH或GIT master,有沒有人有這樣的更新鉤子,我們可以應用到我們的主要存儲庫?
謝謝你看起來很有希望,我會測試它並讓你知道。澄清,我應該適用於掌握回購權?你是否認爲我會遇到像其他答案中所述的「平臺」問題,如果我只合併到TEST中,並且永遠不會合並回來或從TEST中分支出來? –
是的,應該將其安裝爲主存儲庫上的'update'鉤子。由於你的'TEST'分支接收了很多合併,所以我沒有預料到會有問題,但從來沒有被合併過。 – qqx
如果我在TEST分支中標記了一個很舊的提交(例如合併提交,如合併的'feature-abcd分支進入TEST'),那麼它不在RELEASE分支中。我仍然必須標記新的提交(它們通常也只是合併提交),就像你寫的那樣被禁止了嗎? –