使用 Git 2.16.5
分支 A 的提交记录是这样的:A->B->C->D->F
分支 B 的提交记录是这样的:A->B->C->E
现在需要将分支 A 的提交合并到分支 B(分支 B 的提交不合并到分支 A),我想让合并后的分支 B 变成这样:A->B->C->E->D->F
(假设这些提交之间不冲突)
我尝试过在分支 B 下使用 git rebase A,但是执行后分支 B 是这样的:A->B->C->D->F->E
如果 git merge A 的话会创建一个用于合并的提交,分支 B 的提交记录会变成 A->B->C->E->D->F->Merge
,但是我不想创建用于合并的提交
我应该怎么做?
使用
git cherry-pick
,这种方式用于在本地分支中将某一分支上的commit
复制到其他分支。在想要添加commit
的分支上,如此例的B
分支中:...
表示一个commit
范围选择,也可输入单个的commit
。 这个命令可以挑选任意位置的commit
合并到分支最新的位置,如果怕代码冲突时解决冲突造成commit
提交信息改变可以加上-x
保留原来的提交信息。