1. 简述

git 是我们每天都会用到的,分支相信大家也非常熟悉,本文给大家介绍一个十分好用的git命令。

git cherry-pick, 通过pick我们大概也能猜到,这是在选择,是的,git cherry-pick 完全简单的理解为”挑选”某个提交,git cherry-pick commitId 便会获取这个分支的提交的代码和相关信息,并作为一个全新的提交引入到你当前所在的分支上。

当我们需要在某个分支合并其他分支的某一次提交时,同时并不希望对整个分支进行合并,而是只希望将某一次提交合入到本地当前分支上,那么git cherry-pick commitId就派上用场了。

2. git cherry-pick

2.1 git cherry-pick commitId

基础用法

git branch
# 当前分支为 test
git log
# 此时会出现test分支的提交记录,假设此时你想要将
# test分支的commitId为123456的提交合并到sprint分支
git checkout sprint
git cherry-pick 123456
# 此时便已经将这个commit合并到sprint分支了
git log
# 通过git log 便可以看到

假设以下场景:

  1. 9点从test分支切出了sprint-9分支,
  2. 但是10点我在test分支上提交了需要sprint-8的代码(临时增加的需求)

因此这时候test分支和sprint-9分支的代码就不一致了。
当然,如果10点在test分支上修改的代码 sprint-9 不会涉及到,那么在之后合并的时候自然不会冲突,那么也没什么关系。

但是,为了以防万一,谁都无法保证上述情况不会发生,因此这里选择将test分支的commit同步到sprint-9上,使用 git cherry-pick commitID 便可以实现

git cherry-pick commitID

这里的 commitId 就是10点在test分支上提交的Id,这时候你就会发现,这个提交记录就会被同步到sprint-9分支上。

2.2 git cherry-pick -n commitId

git cherry-pick 会自动提交,如果不想git cherry-pick自动进行提交,则加参数-n即可
此时,git cherry-pick -n commitId 只是将这个 commitId 的代码合并到了当前分支,但是不会进行提交,可以在修改完成后 commit 提交

2.3 git cherry-pick -e commitId

如果希望在 git cherry-pick 后重新编辑提交信息,则使用 git cherry-pick -e commitId 命令,此时可以重新编辑提交信息

Git cherry-pick 是什么,如何使用?相关推荐

  1. git cherry pick

    直接将选定的其他分支的commit,提交到该分支上 不建议使用 git rebase --onto 使用cherry pick代替 http://weblog.avp-ptr.de/20120928/ ...

  2. IDEA git cherry pick 简单使用

    cherry pick的作用: 参考了一些博客, eg: 参考博客1 参考博客2 再做了个小案例后,我目前的理解是,cherry pick的作用是将一个分支的部分提交/历史提交,可以合并到另外一个分支 ...

  3. 【git cherry pick冲突】

    修好了bug愉快的打算commit提交的时候 看到提示语句是can not commit changes due to unresolved conflicts 在Android Studio中寻找图 ...

  4. idea cherry pick 功能 git log 窗口 冲突conflict

    git log 窗口 参考 source tree cherry pick, merge conflict merge conflict 冲突 <<<<<<< ...

  5. [gitsourcetree]cherry pick和遴选的使用

    前言 cherry pick. 拷贝其中的某一次提交记录. 本文就介绍一种更加快捷的方式 cherry pick. 介绍 此方法主要用于2分支分别独立维护的情况, 即某一分支已经上线了spring-2 ...

  6. 在gerrit上cherry pick多笔提交到一个仓库中

    我们的要求是在dvr_service仓库上从其他分支cherry pick 两笔提交到release/b03chn_rel_sop_3_nobo分支 这两笔提交分别如图所示 如图所示,B02-5746 ...

  7. 1.Cherry Pick与Create Patch的区别

    Cherry Pick与Create Patch的区别 结论 实验 场景1:应用时无冲突 场景2: 应用时产生冲突 使用cherry pick 使用patch 场景3:产生冲突,并且有其他文件的变更 ...

  8. gerrit cherry pick to merge code

    开发中经常遇到,不同branch代码需要同步修改的问题, 通过gerrit cherry pick to功能可以方便的将已提交A Branch 的修改同步到B Branch上,提升工作效率

  9. Git 经常使用命令合集

    ====== Git 经常使用命令合集 ====== === 1.Git 文档 === Git 中文文档观看地址:http://git.oschina.net/progit/      === 2.G ...

  10. Git 报错:You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).Please, commit your changes

    Git 报错 在 IDEA 中使用 Git 报错: You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).Please, ...

最新文章

  1. python中options设置_如何使用ChromeOptions在Python selenium中禁用CSS
  2. mysql 变量set
  3. 关于举办XX学院“XX杯”网页设计大赛的通知
  4. Java 基于 UDP 实现 Socket中的多客户端通信
  5. Lync Server 2010迁移至Lync Server 2013部署系列 Part1: 扩展AD架构
  6. js时间对象:获取当前时间(格式化)- 代码篇
  7. Oracle数据库的表结构 简单表的建立
  8. 【Tensorflow】相关面试题整理(转)
  9. OA系统权限管理设计方案
  10. 小米4降级android版本,小米MIUI不再允许降级,小心手机变砖
  11. Awesome Free ChatGPT(免费的chatgpt镜像网站)
  12. 机器学习算法: 朴素贝叶斯算法
  13. Hadoop实战之workcount
  14. TinyMce 修改插件 实现多文件/图片上传
  15. React:input输入框只能输入英文和特殊字符(可以自定义限制)
  16. 汽车配件中的DV试验与PV实验区别
  17. Toad for Oracle 使用说明
  18. 如何去掉界面中缅甸语圈圈(JB,JB2)
  19. Oracle的plsql字体,西文字体与中文字体的oracleplsql级别转换
  20. 制作三星I9088 刷机ROM的实践(三)

热门文章

  1. 如何对台式计算机 笔记本进行日常维护,笔记本电脑日常维护十项准则[详细介绍]...
  2. 内网安全管理软件(内网安全管理软件的功能)
  3. Windows修改中文用户名为英文
  4. 旅行 写作 编程_我最喜欢的在旅行或没有互联网时保持编程的方式
  5. UIR软件--高校ERP的升级版、中国高校管理的首选软件
  6. Vant Weapp 0.5.11 发布,有赞小程序 UI 组件库
  7. 程序员必做50题第2题:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元...
  8. python中ln函数如何表示_Python math库 ln(x)运算的实现及原理
  9. 安卓9 怎么运行老程序_孩子老走神怎么办?9张图教你培养孩子的注意力!
  10. MySQL5.1安装教程