git合并分支上指定的commit
2024-10-12 13:50:04
merge 能够胜任平常大部分的合并需求。但也会遇到某些特殊的情况,例如正在开发一个新的功能,线上说有一个紧急的bug要修复。bug修好了但并不像把仍在开发的新功能代码也提交到线上去。这时候也许想要一个只合并指定某些 commit 的功能。
假设分支结构如下:
dd2e86 - 946992 - 9143a9 - a6fd86 - 5a6057 [master]
\
76cada-62ecb3-b886a0[feature]
\
76cada-62ecb3-b886a0[feature]
再假设 62ecb3 的提交修复了bug,这时候可以用
cherry pick 合并单个 commit
具体操作:
git checkout master
git cherry-pick 62ecb3
就这么简单。62ecb3 已经应用在 master 上了(作为一个新的commit)。
cherry pick 连续多个commit
cherry pick 虽好,但一次只能合并一个commit。合并多个就要用到 rebase 了。再次假设想要把 76cada
和 62ecb3 合并到 master 上。
和 62ecb3 合并到 master 上。
操作:
git checkout -b newbranch 62ecb3
git rebase —onto master 76cada^
76cada^ 表示从 76cada
的 commit 开始合并(作为新的commit)。这样就完成了 76cada 到 62ecb3
合并到 master。
的 commit 开始合并(作为新的commit)。这样就完成了 76cada 到 62ecb3
合并到 master。
关于 cherry pick https://git-scm.com/docs/git-cherry-pick
最新文章
- sessionStorage/localStorage 本地存储
- Logback日志系统配置攻略
- Mysql Explain 详解(转)
- AngularJS图片上传功能的实现
- C#基础总结之八面向对象知识点总结-继承与多态-接口
- Genesis自动登录方法(免输入用户名和密码)
- Hibernate 分页时 Long 无法转化成Integer类型 异常
- opencv常用数据结构之:IplImage
- Javascript在页面加载时的执行顺序【转】
- 转载:C# HashSet 用法
- 如何用IDEA一步一步开发WebService服务器端
- C#连接oracle数据库提示ORA-12154: TNS: 无法解析指定的连接标识符
- 关于PHP 开启zlib gzip配置
- idea 配置git
- DataGridView中进行增删改查
- 高性能之js
- MT【190】绝对值的和
- TokenAutication源码分析
- Redis查询&;JDBC查询&;Hibernate查询方式的效率比较...
- Pl/sql学习笔记2
热门文章
- C#编程(七十五)----------C#使用指针
- error LNK1104:无法打开文件";lua51.lib";
- libnids使用 (转)
- boost.property_tree解析xml的帮助类以及中文解析问题的解决(转)
- Android之官方导航栏ActionBar
- oracle-用户和表空间创建
- windows php7 安装 mongodb 扩展
- ThinkPhp 更改 BIT 类型的问题
- install pymongo,mysql
- hive列转行