当前位置:   article > 正文

Git 将某个提交合并到另一个分支_git 将某次提交合并至另外一个分支

git 将某次提交合并至另外一个分支

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

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

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

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

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

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

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

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

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

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

第二种情况

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/455388
推荐阅读
相关标签
  

闽ICP备14008679号