Git 将某个提交合并到另一个分支

本文介绍了如何使用Git的cherry-pick命令将一个分支的特定提交合并到另一个分支,并探讨了在不同场景下cherry-pick的效果。当B分支中有多个连续提交,而A分支只合并了第三次commit时,A分支会包含所有之前的修改。而在没有多次提交的情况下,cherry-pick只会合并指定的那次提交。对于理解和避免意外合并,理解cherry-pick的工作原理至关重要。
摘要由CSDN通过智能技术生成

开发中有时需要将一个分支某些提交合并到另一个分支

例如现在要将 B 分支的一个 commit 合并到A分支:

首先切换到B分支
git checkout B
查看提交日志
git log
找出要合并的 commit ID
如:2c2f06d4d03e7e0b246b1c9c66d
然后切换到A分支上进行合并
git checkout A
git cherry-pick  2c2f06d4d03e7e0b246b1c9c66d

这样就将B分支的某个commit记录合并到了A分支了

注: 说一下自己在使用 cherry-pick时候产生的效果
第一种情况

如果在 B 分支中,对某个文件有多次提交记录
A 分支使用 cherry-pick 进行合并的时候,会把之前对该文件的修改一并合并过来

// B.txt B 分支
1、111(第一次commit)
2、222(第二次commit)
3、333(第三次commit)

A 分支只合并 B 分支第三次 commit的记录,会把前面的修改也合并过来,合并结果如下

// B.txt A 分支
1、111
2、222
3、333

我设想的是 A 只出现第三次提交的内容 但是不是 B 分支之前的内容全都有

第二种情况

比较符合预期,在没有对某个文件多次修改commit的情况下,只会合并对应的 commit 记录

目前还没有查找到关于出现这两种情况的原因,如果有知道的大佬,还希望在评论区指点一下

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值