我遇到这种情况:
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
我该怎么办?
答案 0 :(得分:2)
这是规范的情况,人们会使用rebase:
$ git checkout experimental
$ git rebase develop
答案 1 :(得分:1)
首先你必须挑选Y来实验。
假设你在实验分支上:git cherry-pick Y
然后实验看起来像这样:
Z-X-X-X-W-Y
然后你必须用git rebase -i Y^ experimental
对提交重新排序
这将带来git rebase的交互模式。请查看this answer以获取更多信息。
您必须在交互模式中使用的命令如下所示:
pick Y
pick Z
pick X
# all Xs
pick W
查看git-cherry-pick
的手册页,以便您了解它。并在之前备份您的仓库; - )