hb

git cherry-pick 的使用

Snipaste_20220704_092614.jpg

因为工作中有了需求,本文记录git cherry-pick 的使用。

基本用法

==git cherry-pick==命令的作用,就是将指定的提交(commit)应用于其他分支。

        
  • 1
git cherry-pick <commitHash>

上面命令就会将指定的提交==commitHash==,应用于当前分支。这会在当前分支产生一个新的提交,当然它们的哈希值会不一样。

举例来说,代码仓库有master和feature两个分支。

        
  • 1
  • 2
  • 3
a - b - c - d - f Master \ e - f - g Feature

现在将提交f应用到master分支。

        
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
# 切换到 master 分支 git checkout master # Cherry pick 操作 git cherry-pick f

上面的操作完成以后,代码库就变成了下面的样子。

        
  • 1
  • 2
  • 3
a - b - c - d - f Master \ e - f - g Feature

从上面可以看到,master分支的末尾增加了一个提交f。

git cherry-pick命令的参数,不一定是提交的哈希值,分支名也是可以的,表示转移该分支的最新提交。

        
  • 1
git cherry-pick feature

上面代码表示将feature分支的最近一次提交,转移到当前分支。

上面是git cherry-pick的基础内容。 参考自 https://www.ruanyifeng.com/blog/2020/04/git-cherry-pick.html

Sourcetree中使用cherry-pick

先来说说需求,我这有两根分支 一个主线,一个是后来分出去单独开发的分支rdsy1,大部分和主线是相同。name我在主线优化或改了bug,分支我要同步更改,那么可以用git cherry-pick 就是Sourcetree的遴选。

Snipaste_20220701_180423.png

如上图在rdsy1,就选择master的一个需要commit的节点遴选即可。

Article at   2022/07/04 02:01  Published  code  Category,viewed  265  times

Relevant tags:    Github 

Address:   https://kedong.me/article/84

Copyright Notice: Freely reproduced for non-commercial use