将最后一个git提交从分支转移到另一个分支



我有这样的情况:

X-X-X-X-X-X-K-Y develop
            |-Z-X-X-X-W experimental

我想把在提交Y中所做的更改从第一个分支带到第二个分支,并把它放在第二个分支Z的第一次提交之前我想要这个:

X-X-X-X-X-X-K-Y develop
              |-Z-X-X-X-W experimental

我该怎么办?

这是使用rebase:

的规范情况
$ git checkout experimental
$ git rebase develop

首先你必须挑选Y来做实验。

假设你在实验分支:git cherry-pick Y

实验结果如下:

Z-X-X-X-W-Y

然后你必须用git rebase -i Y^ experimental
重新排序提交这将打开git rebase的交互模式。更多信息请看答案

在交互模式下必须使用的命令如下:

pick Y
pick Z
pick X
# all Xs
pick W

检查git-cherry-pick的手册页,所以你得到正确的。并在此之前备份你的repo;-)

最新更新