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
git之cherry-pick的更多相关文章
- git之rebase、merge和cherry pick的区别(面试常问)
git flow图例镇楼 merge 这个简单,初学者常用.比如主分支是Dev,最新版本是01.然后小明基于此,搞了个feature 分支A,业务:打酱油.然后在上面多次提交,完成功能迭代开发,如A1 ...
- git gui 还原部分提交文件
有时候用git提交文件的时候会一起提交了多个文件,但是突然后悔了,想把其中一个文件撤销提交,其他文件不做修改.这个时候该怎么办呢? 我觉得有很多办法,比如可以先checkout到上次的提交,然后复制要 ...
- 一张图看懂git push
基本用法 上面的四条命令在工作目录.暂存目录(也叫做索引)和仓库之间复制文件. git add files 把当前文件放入暂存区域. git commit 给暂存区域生成快照并提交. git rese ...
- 转:图解Git[强烈推荐]
https://my.oschina.net/xdev/blog/114383 再次感谢原著作者和中文翻译者. 此页图解git中的最常用命令.如果你稍微理解git的工作原理,这篇文章能够让你理解的更透 ...
- git subtree 使用
这个是备忘录.原网页(https://medium.com/@porteneuve/mastering-git-subtrees-943d29a798ec , http://cncc.bingj.co ...
- 10 个迅速提升你 Git 水平的提示
1. Git自动补全 假使你使用命令行工具运行Git命令,那么每次手动输入各种命令是一件很令人厌烦的事情.为了解决这个问题,你可以启用Git的自动补全功能,完成这项工作仅需要几分钟. 为了得到这个脚本 ...
- git by example
记一次回滚操作 路人甲让我修改一个bug,我在develop下修改了 路人甲让我push到releae/sdk0.7分支上 我本地操作切换到release分支并合并develop上的修改: git c ...
- [git]图解git常用命令
本文图解git中最常用的命令.如果你稍微理解git的工作原理,这篇文章能够让你理解的更透彻. 基本用法 约定 命令详解 Diff Commit Checkout Detached HEAD(匿名分支提 ...
- 10 个迅速提升你 Git 水平的提示【转】
转自:https://www.oschina.net/translate/10-tips-git-next-level 最近我们推出了两个教程:熟悉Git的基本功能和让你在开发团队中熟练的使用Git ...
- svn老鸟转用git必须理解的概念
不都是SCM代码管理嘛,有很大区别么?很多svn老鸟都是抱着这样的心态去学习git,然后无一幸免地陷入“查阅过很多资料,依然掌握不好”的困境,至少我们团队是这样的. 网上的资料确实已经很多了,却没有把 ...
随机推荐
- cookie的路径和域
1.Cookie的路径介绍 我们知道Cookie 的属性有很多,其中有一个属性是路径path.有些人认为Cookie 的路径指的是Cookie 在客户端的保存路径,其实并不是.Cookie 的路径是相 ...
- libstdc和glibc的一些共享库问题
1./usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found错误的解决 原因是没有GLIBCXX_3.4.15版本,或是更高的版本输入命令 ...
- python补充知识点
1. 在python2中用xrange,在python3中直接使用range就好了 2. 常数 None在逻辑判断的时候指代False,其他方式不代表True或者False 3. for循环只作用域容 ...
- 20145231第二周Java学习笔记
20145231 <Java程序设计>第2周学习总结 教材学习内容总结 本周的学习采用的依然是先看课本,再看视频,然后实践敲代码,最后根据学习笔记总结完成博客. 第三章:基础语法 知识点比 ...
- INSPIRED启示录 读书笔记 - 第15章 特约用户
产品开发伙伴 为了解决两个问题——既深入洞察目标用户的需求,又赢得用户对产品的推荐,建议征集特约用户协助完成产品研发 在项目的开始阶段物色至少六位积极.活跃.乐于分享的目标户,要求是他们在产品的目标用 ...
- 吴恩达深度学习笔记(九) —— FaceNet
主要内容: 一.FaceNet人脸识别简介 二.使用神经网络对人脸进行编码 三.代价函数triple loss 四.人脸库 五.人脸认证与人脸识别 一.FaceNet简介 1.FaceNet是一个深层 ...
- Windows 端口和所提供的服务
一 .端口大全 端口:0 服务:Reserved 说明:通常用于分析操作系统.这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果.一种典型的扫描,使 ...
- 利用paramiko获取上传下载远程服务器的资源信息
# -*- coding: utf-8 -*- import paramikohostname='192.168.76.10'username='root'password='123456'param ...
- Servlet和Filter的url匹配以及url-pattern详解
Servlet和filter是J2EE开发中常用的技术,使用方便,配置简单,老少皆宜.估计大多数朋友都是直接配置用,也没有关心过具体的细节,今天遇到一个问题,上网查了servlet的规范才发现,ser ...
- mapreduce实现学生平均成绩
思路: 首先从文本读入一行数据,按空格对字符串进行切割,切割后包含学生姓名和某一科的成绩,map输出key->学生姓名 value->某一个成绩 然后在reduce里面对成绩进行遍历 ...