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. 告别 Navicat ,同事安利的这个IDEA的兄弟,真香!
  2. c语言一对圆括号不能,C语言单元习题集
  3. 生鲜电商回光返照? 不! 是起死回生!
  4. linux怎么查端口是否被占用,LINUX中如何查看某个端口是否被占用
  5. 不属于python标准库的是_python标准库和扩展库
  6. mysql 保留5位小数_小猿圈分享-MySQL保留几位小数的4种方法
  7. LightOJ 1422 Halloween Costumes
  8. Java基础2一基础语法
  9. sudo: unable to resolve host xxx解决办法
  10. angularjs 笔记(1) -- 引导
  11. 本地电脑安装虚拟机-解决USB驱动报错(代码 39)问题
  12. 相机模型(针孔、广角)
  13. 利用H5SVG实现线性动画效果
  14. matlab中stract用法_matlab初学之strcat、num2str
  15. 中文技术文档的写作规范
  16. AMEsim16安装启动后加载液压模块与车辆动力学模块
  17. 分享机械键盘的购买使用体验和对比参数(md版本)
  18. 你的个人博客网站该上线了!
  19. PDF管理控件Spire.PDF使用教程:如何创建PDF表格并添加图片到表格
  20. 安全服务工程师的自我修养

热门文章

  1. 九度OJ 1024 畅通工程 -- 并查集、贪心算法(最小生成树)
  2. 本田ST1300摩托发现问题 高速行驶可能剧烈摆动
  3. BUUCTF:从娃娃抓起
  4. 生信豆芽菜数据分析平台-模型构建
  5. Flutter 打包APP (Android IOS)
  6. python实现笑傲江湖人物关系网
  7. Executors如何创建线程池?
  8. php全选和反选,纯javascript实现选择框的全选与反选功能
  9. vue使用echats
  10. 小团队?大团队?优缺点对比