2019独角兽企业重金招聘Python工程师标准>>>

应用背景:假设现在有两个分支:dev_01, dev_02. 如果我想把dev_01分支上的某几个commit合并到dev_02分支, 那么怎么办呢?

这就是cherry-pick的工作了。cherry-pick会捡选某些commit, 即把某些commit的更改重新在另一分支上重新提交一遍. 对于我们的应用背景而言,就是把分支dev_01上某几个commit的更改在分支dev_02上再提交一遍。那么上述问题的解决方案如下:

假设我们需要将dev_01上的两个commit 合并到dev_02上,两个commit的commit id 分别如下:

20c2f506d789bb9f041050dc2c1e954fa3fb6910 
2633961a16b0dda7b767b9264662223a2874dfa90
那我们可以这样写:
git cherry-pick  
20c2f506d789bb9f041050dc2c1e954fa3fb6910 
2633961a16b0dda7b767b9264662223a2874dfa9  
多个commit-hash使用空格分割, commit-hash最好按提交时间先后排列, 即最先提交的commit放在前面.

注意:上面这条cherry-pick命令每拣选一个commit就会提交一次生成一个新的commit id。 如果我们想让每个commit 拣选后暂缓提交,等到所有commit都拣选完成后,自己手动commit,应该怎么办呢?答案是用-n 选项:

git cherry-pick  -n
20c2f506d789bb9f041050dc2c1e954fa3fb6910 
2633961a16b0dda7b767b9264662223a2874dfa9
这样,当git cherry-up后,这两个commit上的更改就被merge到本地的dev_02分支了,此时这些更改就像是你再dev_02分支上自己手动添加的一样,注意此时这些更改并没有被提交。
执行git status 会列出这些改动。

此时,就可以按正常流程(git commit, git push)来提交改动了

转载于:https://my.oschina.net/u/920274/blog/3024283

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. pd.DataFrame.drop_duplicates
  2. The King of Excel Geek 0.1版本
  3. android邮件系统开发的基础知识
  4. HDU - 5335 Walk Out(bfs+路径输出+贪心)
  5. php mysql备份还原类_PHP实现MYSQL备份还原
  6. 技术宅的乐趣!网友编写出《流浪地球》“春节十二响”C语言源码
  7. PAT1021. 个位数统计
  8. 01-HTML基础与进阶-day3-录像236
  9. 开启Hadoop/Yarn的日志监控功能,配置Spark历史服务,解决web端查看日志时的Java.lang.Exception:Unknown container问题
  10. 麻瓜编程python爬虫微专业_麻瓜编程·python实战·1-3作业:爬取租房信息
  11. 自己做量化交易软件(36)小白量化实战9--小白量化回测面板设计
  12. word修改或删除脚注或尾注分隔符
  13. linux 系统挂载ISO 文件
  14. Office Word如何设置页码(MacOS中为例)
  15. JavaScript 时间、时区转换
  16. 怎么用python生成带二维码的照片_怎么制作二维码图片-Python 生成个性二维码
  17. 博奥智源科技浅谈医院采购合理用药系统功能详细设计
  18. 基于OpenCV 的手指骨骨龄计算
  19. PAT A1141 PAT Ranking of Institutions ——昨夜西风凋碧树
  20. css3贝塞尔曲线_CSS3动画–使用贝塞尔曲线创建具有弹跳效果的扇出

热门文章

  1. 浅析java中的语法糖
  2. 聊一聊log4j2配置文件log4j2.xml
  3. 浅谈Java的Fork/Join并发框架
  4. 架构师之路16年精选50篇
  5. JVM 优点与缺点的深入分析
  6. ROS探索总结(十三)(十四)(十五)——导航与定位框架 move_base(路径规划) amcl(导航与定位)
  7. MyBatis小问题(1)-Mapper中错误No constructor found...
  8. MySQL mysqldump命令
  9. CSS选择器分类与优先级
  10. Fast Walsh-Hadamard Transform——快速沃尔什变换