Git使用小技巧【cherry-pick灵活运用】

一、使用场景

一、基本命令

(1)git cherry-pick A 【参数A可以是提交的哈希值,也可以是分支名,代表该分支的最新提交】

(2)git cherry-pick A..B 【将A到B之间所有的提交都转移过去,但不包含A,A必须早于B】

(3)git cherry-pick A^..B  【A到B之间连续且包含A】

代码冲突:

(1)git cherry-pick --continue 【再解决完代码冲突后,将修改好的文件重新add到暂存区,然后执行 --continue 继续执行】

(2)git cherry-pick --abort 【发生代码冲突后,放弃合并,回到操作前的样子】

(3)git cherry-pick --quit 【发生代码冲突后,退出cherry-pick, 但是不会操作前的样子】

二、实践操作

现在有两个分支,

假设此图是分支为branch_1, 有5次提交记录, 版本号分别为a1..e1。

假设此图是分支为branch_2, 有2次提交记录。

首先使用 git cherry-pick branch_2, 使用分支名进行挑拣,会将branch_2分支最新的log记录提交

使用git log查看,会看到已经把对方的最后一次提交给合并过来了,当然使用版本号也是一样的效果

那如果需要合并的提交太多,且是连续性的,该怎么做呢?

在branch_2分支上执行git cherry-pick a1..e1, 将b1, c1, d1, e1版本号的提交拣选也就是合并过来。

 此时再执行git log, 会看到明明cherry-pick a1..e1, 之间应该是总共有5次提交的,却只有4次提交被合并过来,因为git cherry-pick a1^..e1才会将前五的记录都合并过来。,

 

 

推荐阅读文献:

http://www.ruanyifeng.com/blog/2020/04/git-cherry-pick.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值