git中cherry-pick命令的使用教程


Posted in Servers onJune 25, 2022

git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作。例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个v3.0中的功能到v2.0中,这里就可以使用cherry-pick了,其实也就是对已经存在的commit 进行再次提交。

简单用法:

git cherry-pick <commit id>

例如:

$ git checkout v2.0分支
$ git cherry-pick 38361a55 # 这个 38361a55 号码,位于v3.0分支中:

$ git log
commit 38361a55138140827b31b72f8bbfd88b3705d77a
Author: Justin Justin@xxx.com
Date: Sat Dec 10 00:11:44 2016 +0800

1. 如果顺利,就会正常提交。结果:

Finished one cherry-pick.
On branch v2.0分支
Your branch is ahead of 'origin/old_cc' by 3 commits.

2. 如果在cherry-pick 的过程中出现了冲突

Automatic cherry-pick failed.
After resolving the conflicts,mark the corrected paths with 'git add <paths>' or 'git rm <paths>'and commit the result with:
git commit -c 15a2b6c61927e5aed6111de89ad9dafba939a90b

或者:

error: could not apply 0549563... dev
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

就跟普通的冲突一样,手工解决:

2.1 $ git status # 看哪些文件出现冲突

both modified: app/models/MainActivity.java

2.2 $ vim app/models/MainActivity.java # 手动解决它。

2.3 $ git add app/models/MainActivity.java

2.4 git commit -c <新的commit号码>

2.5 再次cherry-pick剩余commit

若提示:

error: a cherry-pick or revert is already in progress
hint: try "git cherry-pick (--continue | --quit | --abort)"
fatal: cherry-pick failed

则执行对应操作:

git cherry-pick --continue
git cherry-pick --quit
git cherry-pick --abort

命令集合:

git cherry-pick <commit id>:单独合并一个提交
git cherry-pick -x <commit id>:同上,不同点:保留原提交者信息。
Git从1.7.2版本开始支持批量cherry-pick,就是一次可以cherry-pick一个区间的commit。
git cherry-pick <start-commit-id>..<end-commit-id>
git cherry-pick <start-commit-id>^..<end-commit-id>

前者表示把<start-commit-id>到<end-commit-id>之间(左开右闭,不包含start-commit-id)的提交cherry-pick到当前分支;
后者有"^"标志的表示把<start-commit-id>到<end-commit-id>之间(闭区间,包含start-commit-id)的提交cherry-pick到当前分支。
其中,<start-commit-id>到<end-commit-id>只需要commit-id的前6位即可,并且<start-commit-id>在时间上必须早于<end-commit-id>
注:以上合并,需要手动push代码。

以上内容总结如下:

1.git checkout master            //此操作需要切换到master分支  

2.git pull

3.git cherry-pick  xxxxxx
 
4.git status 
 
5.编译提交等

到此这篇关于git中cherry-pick命令的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。


Tags in this post...

Servers 相关文章推荐
Nginx+Tomcat实现负载均衡、动静分离的原理解析
Mar 31 Servers
Nginx tp3.2.3 404问题解决方案
Mar 31 Servers
Nginx访问日志及错误日志参数说明
Mar 31 Servers
nginx配置proxy_pass中url末尾带/与不带/的区别详解
Mar 31 Servers
Nginx反向代理配置的全过程记录
Jun 22 Servers
Apache Linkis 中间件架构及快速安装步骤
Mar 16 Servers
Linux下使用C语言代码搭建一个简单的HTTP服务器
Apr 13 Servers
Linux磁盘管理方法介绍
Jun 01 Servers
nginx七层负载均衡配置详解
Jul 15 Servers
win10搭建配置ftp服务器的方法
Aug 05 Servers
Nginx如何配置多个服务域名解析共用80端口详解
Sep 23 Servers
CentOS7设置ssh服务以及端口修改方式
Dec 24 Servers
解决Git推送错误non-fast-forward的方法
Jun 25 #Servers
Win2008系统搭建DHCP服务器
windows server2008 开启端口的实现方法
Windows10安装Apache2.4的方法步骤
Linux下搭建SFTP服务器的命令详解
Jun 25 #Servers
Nginx安装配置详解
win sever 2022如何占用操作主机角色
Jun 25 #Servers
You might like
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
php实现文件下载代码分享
2014/08/19 PHP
PHP CURL post数据报错 failed creating formpost data
2016/10/16 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
javascript中的有名函数和无名函数
2007/10/17 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
JavaScript实现SHA-1加密算法的方法
2015/03/11 Javascript
JQuery中Text方法用法实例分析
2015/05/18 Javascript
javascript比较两个日期相差天数的方法
2015/07/24 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
js微信分享API
2020/10/11 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
Cocos2d实现刮刮卡效果
2018/12/20 Javascript
微信小程序开发实现消息推送
2020/11/18 Javascript
[51:28]EG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/16 DOTA
Python分析学校四六级过关情况
2017/11/22 Python
Python实现DDos攻击实例详解
2019/02/02 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
django 连接数据库出现1045错误的解决方式
2020/05/14 Python
python opencv 实现读取、显示、写入图像的方法
2020/06/08 Python
kmart凯马特官网:美国最大的打折零售商和全球最大的批发商之一
2016/11/17 全球购物
英国女性时尚品牌:Apricot
2018/12/04 全球购物
应聘医药代表职位求职信
2013/10/21 职场文书
教育孩子心得体会
2014/01/01 职场文书
医科大学毕业生自荐信
2014/02/03 职场文书
应届生自荐书
2014/06/23 职场文书
水利水电专业自荐信
2014/07/08 职场文书
房产销售独家委托书范本
2014/10/01 职场文书
安徽导游词
2015/02/12 职场文书
士兵突击观后感
2015/06/16 职场文书
红色影片观后感
2015/06/18 职场文书
小学中队委竞选稿
2015/11/20 职场文书
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS