簡體   English   中英

將正在進行的工作從Git分支移至主題分支

[英]Moving in-flight work from Git branch and move it to a topic branch

背景

如果我要擁有一個如下所示的git分支:

-- A -- B -- C -- D -- E --

與當前時間更近的提交可能沒有更改早期提交中的文件。

我希望我的存儲庫在清理后看起來像這樣。

-- A -- B -- D -- E -- \\-- C --

基本上,我正在從一種SCM工具(AccuRev)遷移到git。 我們有四個代表環境的流。 每個流都是繼承的。 Prod > pre-prod > QC > Dev可能存在QC中不在Prod中的變更包,依此類推。 由於歷史記錄在AccuRev中的工作方式,我們只能遷移一個流,因此隨着歷史記錄的細化,我們將在開發流上遷移。 因此,我們將把AccuRev dev流映射為Git中的主分支(以及生產構建的來源,因此它必須穩定)。


題:

我正在尋找從git master分支中刪除進行中的工作並將其移至主題分支的最佳方法。

請記住,一次遷移包含遷移完成后的主要更改。

要將提交Cmaster分支移動到topic分支,可以使用以下命令:

git checkout topic
git cherry-pick <commit id for C>
git checkout master
git rebase -i master~4

~4代表您要從HEAD重新設置多少個提交

在交互式窗口中,將commit C更改為drop

pick B
drop C
pick D
pick E

現在,提交Cmaster移到topic分支。

暫無
暫無

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

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