2016-04-05 63 views
4

我們公司的Git工作流程如下:我們有一個master分支,一些feature/*分支開發新功能,當作業完成時合併回master,還有release/*分支。這些分支是在產品發佈之前創建的,針對錯誤修復而設計,沒有新功能,然後這些錯誤修復會偶爾合併回master分支。Git:我怎樣才能防止特定的提交被合併到另一個分支?

不時,它發生了特定的release/*分支提交的是一個變化,我們要合併回master:當版本號遞增例如。由於分支中還有其他重要的修復,肯定有人遲早納入說本地承諾到master,打破了主要分支的東西。

目前的「解決方案」我知道是對release/*分支合併爲master後立即本地提交完成後,恢復的本地提交,然後按。它有點作品,但歷史並不乾淨。另外,這並不妨礙將本地提交合併到master以外的其他分支。

有沒有更好的方法來解決上述工作流程中的問題?

回答

0

爲什麼不上release/*分支作爲單獨提交隔離錯誤修復(即不發行版本的更新),然後挖走這些提交到master,如頗能說明here

3

據我所知,在沒有合併所有父提交的情況下合併提交是不可能的,這聽起來像你正在嘗試做的。

但是,對您的工作流程稍作更改可能會解決此問題。

Git Flow型號類似,您可以創建hotfix/*分支來修復該錯誤,而不是直接提交到release分支。此分支可能基於master(在第一次提交時爲任何相關release分支的父代),並且它應該合併爲master以及它影響的任何release分支。

這樣,release分支不需要合併到master,並且可以保留用於特定於發行版的修復。

相關問題