git之cherry-pick
当想把当前分支提交的代码,也在其他分支提交,那可以用cherry-pick命令。
1 假设在master分支commit的id为:abc12345;
2 切换到其他分支,如develop分支;
3 在develop分支,输入git cherry-pick abc12345.
这样就实现了把master分支上提交的代码,也在develop分支提交。
注意事项:
1 在develop顺利提交后,git会自动合并到develop分支下对应的文件的;
2 别忘了push,才能同步到远程服务器;
3 如果在master提交的代码和develop分支存在冲突,就需要先解决冲突;
可参考:
git cherry-pick 小结
http://blog.csdn.net/wh_19910525/article/details/7554430
10 个迅速提升你 Git 水平的提示
http://www.oschina.net/translate/10-tips-git-next-level
//==========冲突以及解决办法(20160426)==========//
切换到master分支,然后把develop分支下的代码,通过cherry-pick到master分支,结果遇到冲突。
(在master下,根本没有develop下的该文件夹。比如develop下的test文件夹,在master下是不存在的。所以就造成冲突了。)
如下图所示:
执行cherry-pick后冲突:
冲突情况下,想切换分支:(很明显必须要先解决冲突,才可以切换分支)
那怎么解决冲突了?
直接到冲突目录,手动删除文件?不行的,这样git跟踪不到的。
正如第一张图所给的提示:"width 'git add <paths>' or 'git rm <paths>'",所以,就可用git rm来删除冲突的文件。
执行git rm ***(文件夹路径,如style/test) -r(递归删除,针对删除的是文件夹目录)。可参考:http://classfoo.com/ccby/article/KkGHbSF
不过,删除成功后,master还是显示"(master|CHERRY-PICKING)"。
那怎么办?
我们用git status后发现又有提示"use 'git cherry-pick --abort'...",所以如果不想继续cherry-pick,就可以执行取消操作(abort);不然,则继续(continue)
可参考:
https://segmentfault.com/q/1010000000095373
http://classfoo.com/ccby/article/KkGHbSF
http://www.360doc.com/content/11/1213/19/2036337_172005672.shtml
最新文章
- Socket聊天程序——Common
- linux可靠信号和非可靠信号测试样例
- WIN7_64位系统安装oracle以及PLSQL方法(不用装32位oracle客户端)
- ZOJ Problem Set - 3829Known Notation(贪心)
- ECMAScript 6 笔记(四)
- 暴力破解MD5的实现(MapReduce编程)
- css补充
- SpringBoot 使用MultipartFile上传文件相关问题解决方案
- Android实现分享图片和文字的功能
- 【机器学习】--鲁棒性调优之L1正则,L2正则
- Asp.Net Core微服务再体验
- 动态规划----最长公共子序列(LCS)问题
- 花点时间顺顺Git(上)
- AtomicReference
- 安装centos 6.7&;7.4
- [AH2017/HNOI2017]礼物(FFT)
- Qt5全局热键第三方库qxtglobalshortcut5使用
- Django MTV
- 步步为营-72-asp.net简单练习(通过webForm实现一些简单实例)
- 解决EF使用context.Database.SqlQuery时NotMapped属性列为空null的问题(转载)
热门文章
- Linux用户和用户组管理 用户组管理命令
- nf_conntrack之解决方案
- SOA 面向服务架构 阅读笔记(六)
- PreTranslateMessage作用和使用方法
- Go sqlx库
- 基于组的策略(GBP)开启新型网络设计时代
- Ajax接触及对跨域的简单理解
- 机器学习(三)—线性回归、逻辑回归、Softmax回归 的区别
- mysql性能优化之索引优化
- mybatis报Error updating database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String