在branch1开发,进行多个提交,这是切换到branch2,想把之前branch1分支提交的commit都【复制】过来,怎么办?
单个commit只需要git cherry-pick commitid
多个commit 只需要git cherry-pick commitid1..commitid100
首先切换到branch1分支,然后查看提交历史记录,也可以用sourceTree查看,也可以用命令git log
例如我的git log 如下:
commit1 xxx_id1
commit2 xxx_id2
commit3 xxx_id3
切换到branch2分支,然后执行
方法1.我想把commit1到commit3复制到branch2分支里,只需要这样
git cherry-pick xxx_id1..xxx_id3
注意中间的两个点,表示把两个commit区间的所有commit多复制过去
注意,不包含第一个commitid , 即 git cherry-pick (commitid1…commitid100]
如果想搞成[]区间,使用 git cherry-pick A^…B 相当于[A B]包含A
方法2.多个commit的hash使用空格分割, commit的hash最好按提交时间先后排列, 即最先提交的commit放在前面
git cherry-pick -n xxx_id1 xxx_id2 xxx_id3