当前需求:我现在有两个分支 A和B,这两个分支都同属于是一个项目,一个是新版本,一个是旧版本。而且差异化比较大

现在产品下发了一个需求,需要在两个版本上同时发布进行,那么只能在一个版本上开发,并且由于两个版本差异化较大,不可能用git merge进行合并,这样就会合并不需要的代码,因为我只需要合并这一个需求的。

所以我现在在A或者B分支上进行需求开发,然后提交开发的需求,然后只需要把新提交的代码合并到另一个分支就行了。git merge肯定不行,那么就会用到git的另一种方式 git cherry-pick

下面是操作方式

首先切换到A分支

git checkout A

git log

找出要合并的commit ID :

例如

325d41xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

然后切换到B分支上

git checkout B

git cherry-pick 325d41xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

然后就将A分支的某个commit合并到了B分支了

注意点:如果在A分支上有了很多commit ID 那么在多次执行 git cherry-pick 的时候可能需要先解决冲突,解决完冲突后需要先push,然后再继续 git cherry-pick,git commit和git stash 都无法解决,好像必须要push,我在这个坑上浪费了很多时间

但是这个操作的确能解决不少问题。特此记录一下

别总用git merge了,Git高级操作之选择合并,git将一个分支的提交合并到另一个分支,git cherry-pick相关推荐

  1. git merge的三种操作merge, squash merge, 和rebase merge

    原链接:https://www.jianshu.com/p/ff1877c5864e git merge的三种操作merge, squash merge, 和rebase merge 举例来说: 假设 ...

  2. Git多个commit合并成一个【中间提交合并 尾部提交合并】

    尾部提交合并 将msg B,msg C,msg D这3个commit合并成1个commit 1 查看当前的提交信息 执行命令:git log,可以查看当前的一些提交信息 msg A,msg B,msg ...

  3. Git:cherry-pick应用一个分支某些现有提交,到另外一个分支

    cherry-pick 能干啥? cherry-pick 的翻译是择优挑选,使用git cherry-pick命令,可以选择将现有的一个或者多个提交的修改引入当前内容. cherry-pick应用场景 ...

  4. git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支

    实际问题:    在本地 master 分支上做了一个commit ( 38361a68138140827b31b72f8bbfd88b3705d77a ) , 如何把它放到 本地 old_cc 分支 ...

  5. git 拉取远程其他分支代码_【记录】git 拉取远程分支代码,同步到另一个git上...

    最近有需求从某git 上拉取所有分支代码同步到另一git上,现记录操作步骤,以便日后使用: 1:先克隆其中一个分支代码到本地环境 git clone -b test http://账号:密码@XXX. ...

  6. git 命令git 地址_5个高级Git命令来启动您的Git游戏

    git 命令git 地址 如果您今天是一名开发人员,那么您很可能已经学到了Git,它是现代软件工作流程的核心版本控制系统. 您了解基础知识-存储库如何工作,如何创建分支和提交更改以及如何合并这些更改和 ...

  7. 你什么时候使用git rebase而不是git merge?

    什么时候建议使用git rebase与git merge ? 成功改造后我还需要合并吗? #1楼 在合并/ rebase之前: A <- B <- C [master] ^\D <- ...

  8. git 的 merge 默认有commit操作

    文章目录 参考文章 merge 举例 参考文章 分支管理策略 merge 每次合并分支的时候,会同时默认操作一次commit. 举例 现在有分支dev与master,创建新的分支git checkou ...

  9. [转]git merge 与 git rebase的区别

    git log --graph可以查看分支合并图 1>他们都是用于从一个分支获取并且合并到当前分支 2>一个场景:在feature分支进行新特性的开发,与此同时,master分支也有新的提 ...

最新文章

  1. Flash/Flex学习笔记(4):如何打开网页及Get/Post数据
  2. 初学Java多线程【1】:线程简介
  3. MySQL主从复制性能优化
  4. SQL Server CDC配合Kafka Connect监听数据变化
  5. db2 linux 导入数据_MySQL数据的导出和导入(Linux)
  6. Tomcat学习总结(16)—— Tomcat优化时的参数分析
  7. 网络打印机 RPC服务器不可用
  8. pwd 打印当前所在目录
  9. 网易邮箱服务器怎么注册,免费网易域名邮箱申请教程(图)
  10. Ubuntu16.04设置AP热点方法
  11. 如何实现高效的室内定位和追踪?
  12. 分享五个最好的BT下载软件
  13. iPhone 开发常用工具
  14. python _foo __foo
  15. java计算各个班的平均分
  16. 图像拼接matlab
  17. css3怎么实现筛子的效果??transform得常用属性??
  18. 7 款基于 HTML5 Canvas 的超炫 3D 动画效果
  19. matlab坐标值旋转平移
  20. 关于数据结构中的叶节点和二度节点的关系(通俗的理解)。

热门文章

  1. 掌控者靶场第二章:WAF绕过
  2. 什么是SOL注入攻击?Land攻击?Ping of Death攻击?Teardrop攻击?
  3. 1 Bootstrap 4起步
  4. 杭州河坊街特色手机饰品——招财猫!
  5. 商务领航的网关问题解决
  6. python.opencv.imread读图顺序:从上到下,从左到右
  7. SQL中十六进制和字符串之间的转换
  8. 隐函数存在定理1及求导公式_20160505
  9. 24只胡萝卜的管理精神(节录)
  10. 如何零基础学习法语,陈家桥法语零基础入门学习