簡體   English   中英

如何在git中合並某些分支/部分提交?

[英]How to merge certain branches/partial-commits in git?

我有alphabetamaster分支。 我也有分支feature_afeature_bfeature_cfeature_d 然后,我:

  1. feature_a合並到alpha
  2. feature_b合並到alpha
  3. feature_c合並到alpha
  4. feature_d合並到alpha

feature_b feature_d存在問題(或者可能他們錯過了最后期限,並且仍在測試中),其余的都准備好進入beta分支。

我怎樣才能僅將選擇的“分支”從alpha合並到beta分支中,以便僅feature_afeature_c可以合並? 歷史和血統是否會保持不變(假設要素分支被修剪或刪除)?

我猜到了git merge beta feature_c...alphagit merge beta feature_a...alpha (那些命令不起作用,但這是到目前為止我嘗試過的理論)。

如果只想合並一些分支,則可以只合並那些分支:

git merge beta feature_a feature_a

現在,如果您只想在開始發行時合並那些分支(即,當您將它們合並成alpha )的狀態,那么,可以在合並時用feature_a_release-n標簽對其進行標記。 feature_a_release-n等...; 這樣就可以合並到beta

git merge beta feature_a_release-n feature_b_release-n

我們還可以考慮一種替代方法,因為在進行Beta測試之前,您可能理所當然地希望實際上合並它們之間的功能,以便將它們一起測試。 在這種情況下,您可能要針對每個發行版而不是alpha分支,例如: alpha-release-n 而且,如果在創建此發行分支后發現功能分支存在問題,則可以創建一個新的分支,例如alpha-release-n.2 ,其中不包含不需要的分支。


不過,最終的主觀判斷是:該工作流程每個團隊都有一個功能分支,這是幾年前我公司使用的工作流程。 從那時起,研發投入增加了一倍以上,我們發現此工作流程存在一些缺陷。 (例如,由於延遲集成可能會在幾天后顯示出沖突,這是相當晚的反饋)。

在不花太多精力的情況下,在花了很多精力在整個代碼庫中建立可靠的非回歸測試之后,我們現在只提交給master ,我們認為它應該可以隨時投入生產。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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