[英]Git: How can I prevent a specific commit from being merged into another branch?
我們公司的Git工作流程如下:我們有一個master
分支,一些feature/*
分支來開發在完成工作時合並回master
新功能,以及release/*
分支。 這些分支是在產品發布之前創建的,專為錯誤修復而設計,沒有新功能,然后這些錯誤修復會偶爾合並到master
分支中。
不時,它發生的特定承諾在release/*
分支是我們不希望合並回改變master
:例如,當版本號遞增。 由於還有其他重要的修復分支,肯定有人遲早會納入提到本地提交到master
,打破東西的主要分支。
我所知道的當前“解決方案”是在本地提交完成后立即將release/*
分支合並到master
, 還原本地提交然后推送。 它有點工作,但歷史不干凈。 此外,這不會阻止本地提交合並到另一個分支而不是master
分支。
在描述的工作流程中有沒有更好的方法來解決這個問題?
據我所知,如果沒有合並所有的父提交,就不可能在提交中合並,這聽起來就像你想要做的那樣。
但是,對您的工作流程稍作更改可能會解決此問題。
與Git Flow模型類似,您可以創建一個hotfix/*
分支來修復錯誤,而不是直接提交到release
分支。 此分支可能應該基於master
(在第一次提交時是任何相關release
分支的父級),並且它應該合並到master
以及它影響的任何release
分支。
這樣, release
分支不需要合並到master
,並且可以保留用於特定於發行版的修復程序。
為什么不上隔離的bug修復release/*
(即沒有發布版本更新)分支為單次的提交,然后挖走這些提交給master
,如頗能說明這里 ?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.