繁体   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