簡體   English   中英

Git Merge分支還原工作流程

[英]Git Merge Branch Revert Workflow

這是我們的方案:

開發人員將Master分支到新的Branch中並開發一些代碼。 大師進步。 當它通過質量檢查並合並到Master后,將運行完整的回歸測試。 有時,一個分支(其中幾個正在合並/測試該版本)無法通過回歸。 因此,我們要還原該合並,並繼續發布其余代碼。 通常,只需在原始開發分支中進行一些調整,然后再次進行質量檢查,然后重新合並到master中即可,但是由於Master恢復了原來的更改,因此大部分分支更改都被清除了。 更正后,如何最好地將這個dev分支重新合並到master中,而又不會由於還原而丟失更改?

從表面上看,這聽起來像是您在工作流程中使用了不正確的還原。

為避免這種情況,如果master已超越分支,則應將master合並到分支中,而不是相反。

所以:

  • 在分支中發展。
  • 當開發完成並且回歸測試通過時:
    • 將master合並到分支(不分支到master)
    • 在分支中運行回歸測試
    • 解決分支中的任何故障
    • 測試通過時:
      • 如果從合並回母版以來母版已更改,請沖洗並重復(將母版重新合並到分支,重新測試,重新解析)。
      • 否則,將分支合並回主節點(快進)。

此工作流避免了在促銷工作流中任何時候都需要還原的情況(開發人員可能仍需要在其開發部門中不時還原)。

您永遠不需要將合並從master還原到分支,因為要使更改已被接受到master中,它們必須首先通過測試才能到達master。 因此,由於合並到分支機構而引起的任何故障都必須在該分支機構中解決然后才能將其接受回master。

git不會合並之前已經合並的任何提交。 由於提交仍在master的歷史中(但后來又被提交還原了),因此git不會再次應用它們。 解決方案是:

  1. 還原還原 :簡單地git revert還原變更的提交。

或(更好的解決方案):

  1. 定期或在准備就緒時將master合並到功能分支中
    • 如果所有測試都通過:很好,將其合並到master(應該是一個快速的方法)
    • 否則,請執行解決此問題所需的操作。

暫無
暫無

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

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