别总用git merge了,Git高级操作之选择合并,git将一个分支的提交合并到另一个分支,git cherry-pick
当前需求:我现在有两个分支 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相关推荐
- git merge的三种操作merge, squash merge, 和rebase merge
原链接:https://www.jianshu.com/p/ff1877c5864e git merge的三种操作merge, squash merge, 和rebase merge 举例来说: 假设 ...
- Git多个commit合并成一个【中间提交合并 尾部提交合并】
尾部提交合并 将msg B,msg C,msg D这3个commit合并成1个commit 1 查看当前的提交信息 执行命令:git log,可以查看当前的一些提交信息 msg A,msg B,msg ...
- Git:cherry-pick应用一个分支某些现有提交,到另外一个分支
cherry-pick 能干啥? cherry-pick 的翻译是择优挑选,使用git cherry-pick命令,可以选择将现有的一个或者多个提交的修改引入当前内容. cherry-pick应用场景 ...
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
实际问题: 在本地 master 分支上做了一个commit ( 38361a68138140827b31b72f8bbfd88b3705d77a ) , 如何把它放到 本地 old_cc 分支 ...
- git 拉取远程其他分支代码_【记录】git 拉取远程分支代码,同步到另一个git上...
最近有需求从某git 上拉取所有分支代码同步到另一git上,现记录操作步骤,以便日后使用: 1:先克隆其中一个分支代码到本地环境 git clone -b test http://账号:密码@XXX. ...
- git 命令git 地址_5个高级Git命令来启动您的Git游戏
git 命令git 地址 如果您今天是一名开发人员,那么您很可能已经学到了Git,它是现代软件工作流程的核心版本控制系统. 您了解基础知识-存储库如何工作,如何创建分支和提交更改以及如何合并这些更改和 ...
- 你什么时候使用git rebase而不是git merge?
什么时候建议使用git rebase与git merge ? 成功改造后我还需要合并吗? #1楼 在合并/ rebase之前: A <- B <- C [master] ^\D <- ...
- git 的 merge 默认有commit操作
文章目录 参考文章 merge 举例 参考文章 分支管理策略 merge 每次合并分支的时候,会同时默认操作一次commit. 举例 现在有分支dev与master,创建新的分支git checkou ...
- [转]git merge 与 git rebase的区别
git log --graph可以查看分支合并图 1>他们都是用于从一个分支获取并且合并到当前分支 2>一个场景:在feature分支进行新特性的开发,与此同时,master分支也有新的提 ...
最新文章
- Flash/Flex学习笔记(4):如何打开网页及Get/Post数据
- 初学Java多线程【1】:线程简介
- MySQL主从复制性能优化
- SQL Server CDC配合Kafka Connect监听数据变化
- db2 linux 导入数据_MySQL数据的导出和导入(Linux)
- Tomcat学习总结(16)—— Tomcat优化时的参数分析
- 网络打印机 RPC服务器不可用
- pwd 打印当前所在目录
- 网易邮箱服务器怎么注册,免费网易域名邮箱申请教程(图)
- Ubuntu16.04设置AP热点方法
- 如何实现高效的室内定位和追踪?
- 分享五个最好的BT下载软件
- iPhone 开发常用工具
- python _foo __foo
- java计算各个班的平均分
- 图像拼接matlab
- css3怎么实现筛子的效果??transform得常用属性??
- 7 款基于 HTML5 Canvas 的超炫 3D 动画效果
- matlab坐标值旋转平移
- 关于数据结构中的叶节点和二度节点的关系(通俗的理解)。