美文网首页
Git cherry-pick极速理解

Git cherry-pick极速理解

作者: Kagashino | 来源:发表于2019-05-16 17:49 被阅读0次

介绍

cherry-pick,中文为遴选(个人喜欢叫做樱桃捡),可以理解为merge的一种,都是接收其他分支的修改,但是 cherry-pick 接受单个或者多个提交记录而非整个分支

示例

  • 创建一个git 仓库,编写file1,file2,内容别为
this is file 1
progress : 1
this is file 2
progress : 1
  • 创建一个名为【a】分支,并提交为a1
  • 创建一个名为【b】的分支,修改file2的progress:
this is file 2
progress : 2
  • 提交b分支为b1
  • 切换a分支,修改file1的progress,提交为a2:
this is file 1
progress: 2
  • 目前2个分支的提交情况:

a: a1 => a2
b: b1

如果使用merge,把b分支合并到a分支,变成a3-merge,则b分支的快照会完全覆盖a,此时a3-merge的文件快照为:

//file1
this is file 1
progress: 1 // a2中 progress: 2被b1覆盖
//file2 
this is file2
progress: 2

如果使用cherry-pick,仅接受b1的修改:

//file2
this is  file2
- progress: 1
+ progress: 2

此时a分支中 file1不变,因为b1没有修改,file2接受了修改,结果为:

//file1
this is file 1
progress: 2
//file2 
this is file2
progress: 2 //仅改动b1

相关文章

网友评论

      本文标题:Git cherry-pick极速理解

      本文链接:https://www.haomeiwen.com/subject/vgcwaqtx.html