簡體   English   中英

Git:如何防止特定提交合並到另一個分支?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM