当想把当前分支提交的代码,也在其他分支提交,那可以用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

git之cherry-pick的更多相关文章

  1. git之rebase、merge和cherry pick的区别(面试常问)

    git flow图例镇楼 merge 这个简单,初学者常用.比如主分支是Dev,最新版本是01.然后小明基于此,搞了个feature 分支A,业务:打酱油.然后在上面多次提交,完成功能迭代开发,如A1 ...

  2. git gui 还原部分提交文件

    有时候用git提交文件的时候会一起提交了多个文件,但是突然后悔了,想把其中一个文件撤销提交,其他文件不做修改.这个时候该怎么办呢? 我觉得有很多办法,比如可以先checkout到上次的提交,然后复制要 ...

  3. 一张图看懂git push

    基本用法 上面的四条命令在工作目录.暂存目录(也叫做索引)和仓库之间复制文件. git add files 把当前文件放入暂存区域. git commit 给暂存区域生成快照并提交. git rese ...

  4. 转:图解Git[强烈推荐]

    https://my.oschina.net/xdev/blog/114383 再次感谢原著作者和中文翻译者. 此页图解git中的最常用命令.如果你稍微理解git的工作原理,这篇文章能够让你理解的更透 ...

  5. git subtree 使用

    这个是备忘录.原网页(https://medium.com/@porteneuve/mastering-git-subtrees-943d29a798ec , http://cncc.bingj.co ...

  6. 10 个迅速提升你 Git 水平的提示

    1. Git自动补全 假使你使用命令行工具运行Git命令,那么每次手动输入各种命令是一件很令人厌烦的事情.为了解决这个问题,你可以启用Git的自动补全功能,完成这项工作仅需要几分钟. 为了得到这个脚本 ...

  7. git by example

    记一次回滚操作 路人甲让我修改一个bug,我在develop下修改了 路人甲让我push到releae/sdk0.7分支上 我本地操作切换到release分支并合并develop上的修改: git c ...

  8. [git]图解git常用命令

    本文图解git中最常用的命令.如果你稍微理解git的工作原理,这篇文章能够让你理解的更透彻. 基本用法 约定 命令详解 Diff Commit Checkout Detached HEAD(匿名分支提 ...

  9. 10 个迅速提升你 Git 水平的提示【转】

    转自:https://www.oschina.net/translate/10-tips-git-next-level 最近我们推出了两个教程:熟悉Git的基本功能和让你在开发团队中熟练的使用Git  ...

  10. svn老鸟转用git必须理解的概念

    不都是SCM代码管理嘛,有很大区别么?很多svn老鸟都是抱着这样的心态去学习git,然后无一幸免地陷入“查阅过很多资料,依然掌握不好”的困境,至少我们团队是这样的. 网上的资料确实已经很多了,却没有把 ...

随机推荐

  1. arcgis flex aqi 3大util

    第一:webMapUtil 主要用来根据id或者json创建map,跟webmap相关 第二:GeometryUtil 主要用来计算面积,长度,还有判断是否相交等,跟geometry相关. 第三:We ...

  2. Python编程-网络编程

    一.Socket复习 1.Socket参数 sk.bind(address) 必会 s.bind(address) 将套接字绑定到地址.address地址的格式取决于地址族.在AF_INET下,以元组 ...

  3. Linux 调优

    一.系统优化 1.硬件优化 增加内存 更换速度跟高磁盘(sata->sas)可以增加固态硬盘 更换更高校率的网卡,或者双网卡绑定,两个网卡作为一个网卡使用.服务器网卡一般为千兆 2.系统层优化 ...

  4. 20145240《Java程序设计》第二周学习总结

    20145240 <Java程序设计>第二周学习总结 教材学习内容总结 本周主要学习了第三章的内容,讲的是Java的一些基础语法,包括两大系统类型.变量.运算符的基本使用.类型转换及几个基 ...

  5. INSPIRED启示录 读书笔记 - 第1章 关键角色及其职责

    现代软件产品团队 1.产品经理的主要职责分为两项:评估产品机会和定义要开发的产品 2.用户体验设计师(由多种角色组成,这里面最关键的是交互设计师)      交互设计师负责深入理解目标用户,设计有价值 ...

  6. Ajax缓存处理

    如果直接用jQuery里的$.ajax()方法的话,去除缓存很简单,只需要配置一下缓存属性cache为false,但如果想要简单写法getJSON(),去除缓存就不能通过配置来解决了.因为getJSO ...

  7. Luogu-3966 [TJOI2013]单词

    这道题应该是后缀数组的套路题啊,把单词连接起来,中间用没有出现过且互不相同的字符来分隔开,求一下\(height\)数组. 对于一个单词来说,设单词长\(len\),所在的后缀为\(i\),如果某后缀 ...

  8. 完全重装python和yum

    本文原链接 http://smilepad.blog.51cto.com/6094369/1333478 http://blog.etc168.com/?p=642 1.删除现有Python #roo ...

  9. 【P2401】不等数列(DP)

    这个题乍一看就应该是DP,再看一眼数据范围,1000..那就应该是了.然后就向DP的方向想,经过对小数据的计算可以得出,如果我们用f[i][j]来表示前i个数有j个是填了"<" ...

  10. springcloud-搭建服务注册中心

    创建服务注册中心 1.创建一个springboot 命名为eureka-server 1)添加Eureka依赖 pom.xml <?xml version="1.0" enc ...