Git 复制连续多个提交

有时候我们有一个分支A,里边包含了提交A1->A2->A3->A4->A5等。然后我们又有一个分支B,里边包含了提交A1->A2->B1->B2->B3,现在我们想把分支A中的A3,A4,A5版本复制到分支B上,我们应该怎么办呢?

 

我们可以使用cherry-pick 三次,分别将A3,A4,A5复制到B上,但是如果我们需要cherry-pick的提交数量达到10个以上怎么办呢?其实cherry-pick支持自动多个连续的饿提交复制。

方法如下:

现在在B分之上,然后

git cherry-pick A3^..A5

上述命令会把A3和A5之间的所有提交都复制到当前分支上。

上述命令等同于:

git cherry-pick A2..A5

 

cherry-pick的区间遵从前开后闭的原则, (A2, A5],也就是说不包含A2,包含A5。所以你会看到我们使用了A3^来表达A3的父亲节点。

 

期间会遇到不少冲突,解决完冲突后请:git cherry-pick --continue 

posted @ 2023-08-29 17:16  LoveMe7788  阅读(110)  评论(0编辑  收藏  举报