Git 合并指定的commit

Git命令

git cherry-pick <commit id>

使用背景

  • 用户中心需要优化,在分支daily/1.3.0上开发。
  • 在优化的过程中提取了公共部分独立成文件或模块,提交到了daily/1.3.0上。此时分支上即有公共部分,又有此次优化的功能点。
  • 突发奇想,想要对别的地方进行优化、抽象别的方法,但是又不想影响此次的功能,即不想也不能提交在daily/1.3.0上。
  • 如果基于daily/1.3.0新建分支的话,除公共优化部分还会带来多余的功能点;但是基于干净分支新建一个分支,优化的历史记录难道要一个一个拷贝粘贴????
  • 还好,在优化的时候,抽象方法相对功能点独立,commit比较干净

目的

新建一个干净的优化分支,把daily/1.3.0关于公共优化部分的commit搞过来

工具

WebStorm

步骤

  1. 基于master或别的干净、可上线的分支新建并切换至分支refine/routes-common
  2. 打开WebStorm下的Version Control,选择Log选项卡,Branch选择daily/1.3.0
Version Control: Log选项卡

3.选择需要合并的commit, 右键->cherry-pick (之所以不使用命令行是多选commit的时候比较麻烦)

选择需要cherry-pick的分支
  1. 像普通提交一样commit,如果有冲突,像普通解决冲突一样解决


    commit

其实

如果只涉及文件变动,也可以使用git checkout来合并文件夹

参考

git cherry-pick 小结

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1,查看所有远程分支:%git branch -r 2, 拉取远程分支并创建本地分支git checkout -...
    will666阅读 2,098评论 0 18
  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,611评论 1 26
  • 昨晚观看《东方直播室》,其中提到了人受伤后愈合的过程会经历五个阶段:否认、愤怒、悲伤、讨价还价、开始新生活——遂觉...
    Alexis阅读 326评论 2 5
  • 今天参加了一个志愿者服务-人体红绿灯。在我们学校的教学区到住宿区的马路上。 本来只是一个志愿服务,同时也有先驱者和...
    Lighthouse_南瓜阅读 329评论 3 0