我有这样的情况:
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;-)