衍合与挑拣(cherry-pick)的流程

一些维护者更喜欢衍合或者挑拣贡献者的代码,而不是简单的合并,因为这样能够保持线性的提交历史。如果你完成了一个特性的开发,并决定将它引入到主干代码中,你可以转到
那个特性分支然后执行衍合命令,好在你的主干分支上(也可能是develop分支之类的)重新提交这些修改。如果这些代码工作得很好,你就可以快进master分支,得到一个线性的提交历史。
另一个引入代码的方法是挑拣。挑拣类似于针对某次特定提交的衍合。它首先提取某次提交的补丁,然后试着应用在当前分支上。如果某个特性分支上有多个commits,但你只想引入其中之一就可以使用这种方法。也可能仅仅是因为你喜欢用挑拣,讨厌衍合。假设你有一个类似图 5.26的工程。

如果你希望拉取e43a6到你的主干分支,可以这样

$ git cherry-pick e43a6fd3e94888d76779ad79fb568ed180e5fcdf
Finished one cherry-pick.
[master]: created a0a41a9: "More friendly message when locking the index fails."
3 files changed, 17 insertions(+), 3 deletions(-)

这将会引入e43a6的代码,但是会得到不同的SHA-1值,因为应用日期不同。现在你的历史
看起来像图 5.27.

现在,你可以删除这个特性分支并丢弃你不想引入的那些commit。

git合并——衍合于挑拣(cherry-pick)——只合并某个commit相关推荐

  1. excel-多行内容分组合并-分类汇总(汇总不求和只合并内容)

    示例数据:以按第一列升序排序,俩列值已分组去重 需求: 将左列相同的值对应的右列内容合并,如 127 b 则所需数据为 : 127 ab 127 a 实现公式为: ① IF(AND(A1=A2,A2= ...

  2. 3.6 Git 分支 - 分支的衍合

    分支的衍合 把一个分支中的修改整合到另一个分支的办法有两种:merge 和 rebase(译注:rebase 的翻译暂定为"衍合",大家知道就可以了.).在本章我们会学习什么是衍合 ...

  3. git rebase:永远不要衍合那些已经推送到公共仓库的更新

    衍合 把一个分支整合到另一个分支的办法有两种:merge(合并) 和 rebase(衍合).在本章我们会学习什么是衍合,如何使用衍合,为什么衍合操作如此富有魅力,以及我们应该在什么情况下使用衍合. 衍 ...

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

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

  5. IDEA git cherry pick 简单使用

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

  6. git cherry pick

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

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

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

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

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

  9. git只合并某一个分支的某个commit

    第一种情况:只合并一个commit git checkout develop-hbb git cherry-pick 7c32be61 以上,7c32be61是develop上的一个fix bug的c ...

  10. java 合并流_Java Stream 流实现合并操作示例

    本文实例讲述了Java Stream 流实现合并操作.分享给大家供大家参考,具体如下: 1. 前言 Java Stream Api提供了很多有用的 Api 让我们很方便将集合或者多个同类型的元素转换为 ...

最新文章

  1. WGCNA分析,简单全面的最新教程
  2. Swift之深入解析构造过程和析构过程
  3. 【报错笔记】Eclipse导入Maven项目时pom.xml报错,项目上有红感叹号。
  4. Linux kill 杀死指定进程
  5. java 嵌套事务_Java事务以及嵌套事务
  6. mysql三高讲解(三)3.1 如何提高where效率
  7. 水逆的 Google,或许应该向百度取个经?
  8. C#中获取路径的几种方法
  9. Linux btrfs之文件系统转换
  10. 一点总结,手机应用开发前景
  11. 杭电oj1257最少拦截系统(贪心)
  12. web基础学习(十四)CSS3多列布局
  13. STM32串口接收以及发送大全
  14. 腾讯云入门教程之腾讯云大学153个实验案例(免费学习)
  15. 2018上C语言程序设计(高级)作业- 第0次作业
  16. ANSYS apdl命令流笔记14-------工作平面的变换与生成
  17. 背单词APP调研分析
  18. 离开外包之后,花了10000小时,最后我走进字节跳动拿到了offer
  19. DLL 注入的三种方法详解
  20. markdown快速插入图片技巧

热门文章

  1. 编程中的快速数学公式 python
  2. 给前端工程师看的后端科普
  3. 2019_WSDM_Session-Based Social Recommendation via Dynamic Graph Attention Networks
  4. 传16寸MacBook Pro九月发布 分辨率3072x1920
  5. golang中实现RSA(PKCS#1)加密解密
  6. MATLAB编写m函数理解 y=f(g(x))*h(x)
  7. idea创建Springboot项目时,出现Error:java: 读取C:\Users\HP\.m2\repository\com\vaadin\external\google\android-js
  8. 几个简单的小功能,能提高微信群活跃度?
  9. 计算机取证的相关案例,计算机取证案例分析
  10. 《跑步该怎么跑》读书笔记