cherry-pick 可以局部代码合并。

cherry-pick不仅可以用在不同分支之间,还可以用在同一个分支上。

比如说你在某一个向某个分支中添加了一个功能,后来处于某种原因把它给删除了,然而后来某一天你又要添加上这个功能了, 这时候就可以使用cherry-pick把添加那个功能的commit, 再重演一遍。

不同分支之前,传递代码,有点意思。

commit dbb9d196fb38fe676fdfea9aeee6b0bc4512209a
Author: jiqing <jiqing@caomall.net>
Date: Wed May 16 10:37:49 2018 +0800 规格处理 Admin/Lib/Action/ProductAction.class.php | 9 +++++++--
Admin/Tpl/Product/add.html | 12 ++++++------
2 files changed, 13 insertions(+), 8 deletions(-)

这个是分支A中的功能调整,分支B中也需要这样的功能,怎么办呢?

难不成,再写一遍?又或者再复制一遍?

不需要的,使用cherry-pick就可以了。

git cherry-pick dbb9d196fb38fe676fdfea9aeee6b0bc4512209a
[laobandianqi 3eb652d] 规格处理
Date: Wed May 16 10:37:49 2018 +0800
2 files changed, 13 insertions(+), 8 deletions(-)

我们发现,分支B中会进行一模一样的操作。

git log
commit 3eb652de360e67dae1dfb2f7692396adad26ec65
Author: jiqing <jiqing@caomall.net>
Date: Wed May 16 10:37:49 2018 +0800 规格处理

就连生成的commit日志都是一样的,说明,它将commit重新在分支B上执行了一遍。

很好很强大,很喜欢。

使用之前,记得git fetch

jiqing@Ubuntu:/home/wwwroot/default/laobandianqi/store$ git fetch
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
展开对象中: 100% (6/6), 完成.
来自 http://106.14.59.204/zhubin/store
dbb9d19..c126d03 yanglu -> origin/yanglu
jiqing@Ubuntu:/home/wwwroot/default/laobandianqi/store$ git cherry-pick c126d03041af4ab49a4104168e158ba869f6c9d5
[laobandianqi 5b3cd36] 购物车添加移除,增加规格
Date: Wed May 16 11:28:45 2018 +0800
1 file changed, 1 insertion(+)

git不同分支局部代码合并 git cherry-pick的更多相关文章

  1. git学习心得之git跨分支提交代码

    最近在工作中遇到了git跨分支提交代码的问题,本地拉的是远程master分支的代码,需要将本地修改代码提交到远程temp分支. 1.在gitlab上对相应项目fork本地分支 2.更新本地代码,将远程 ...

  2. SVN建立分支、代码合并以及常用操作

    在项目开发的过程中,现在遇到这样一个问题: 现在是9月份,在同一个项目中我要开发A.B两个模块,A模块是11月份上线,B模块是12月份上线,但是SVN上的trunk(主干)上的代码必须是上线的. 假设 ...

  3. 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net

    1. 注册一个账号和创建项目 先在git.oschina.net上注册一个账号和新建一个project ,如project name 是"myTest". 2.安装git sudo ...

  4. git切换分支导致代码丢失找回(git reflog找回错误的重置)

    1.使用git reflog查看日志 2.切换到丢失的分支 3. 创建一个临时分支  如(diff),并切换到dev(原分支),然后合并diff到dev分支 4.查看状态 5.强制合并,然后提交到de ...

  5. git 切换分支开发并合并提交到远程仓库

  6. [转]实际项目中如何使用Git做分支管理 (A successful Git branching model)

    来自 https://nvie.com/posts/a-successful-git-branching-model/ In this post I present the development m ...

  7. git 从远程克隆代码并实现分支开发,合并分支,上传本地代码到远程

    首先确认你已经安装了git 1.克隆远程代码到本地的操作 git clone 地址   打开git操作命令行 鼠标右键点击        复制需要克隆的项目的地址类似下面的ssh     输入命令进行 ...

  8. git代码合并:Merge、Rebase的选择

    代码合并:Merge.Rebase的选择 Zhongyi Tong edited this page on Dec 7, 2015 · 3 revisions Pages 19 Home 2.1 快速 ...

  9. Git新建分支,分支合并,版本回退详解

    一.git基本命令 git拉取仓库代码 #拉取master代码 git clone git仓库地址 #拉取分支代码 git clone -b 分支名称 git仓库地址 2.git添加代码到本地仓库 g ...

随机推荐

  1. Java基础学习之数组基本属性和方法

    数组对于每一门编程语言都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同.Java语言中提供的数组是用来存储固定大小的同类型元素.你可以声明一个数组变量,如 int[100] 来代替直接 ...

  2. 收集Windows 8 Metro UI 风格网站资源,觉得不错的顶啊!!

    这些资源包含:模板,框架,jQuery插件,图标集等.帮助你快速开发Windows 8 Metro UI风格的网站.本文转自虾米站长网 Frameworks & Templates For M ...

  3. Bone Collector II(01背包kth)

    The title of this problem is familiar,isn't it?yeah,if you had took part in the "Rookie Cup&quo ...

  4. [Docker]容器的隔离与限制

    1.Docker事实 1)容器技术的兴起源于Pass技术的普及 2)Docker公司发布的Docker项目具有里程碑式的意义 3)Docker项目通过容器镜像解决了应用打包这个根本性难题 4)容器本身 ...

  5. PMU 简介

    目录 1:PMIC2:Battery管理3:功耗4:常见问题5:参考文献 PMIC[MT6322]    Source code structure Build option Battery char ...

  6. Bzoj 2726 SDOI 任务安排

      Memory Limit: 131072KB   64bit IO Format: %lld & %llu Description 机器上有N个需要处理的任务,它们构成了一个序列.这些任务 ...

  7. POJ 2749 2SAT判定+二分

    题意:图上n个点,使每个点都与俩个中转点的其中一个相连(二选一,典型2-sat),并使任意两点最大 距离最小(最大最小,2分答案),有些点相互hata,不能选同一个中转点,有些点相互LOVE,必需选相 ...

  8. ***ps -ef |grep 输出的具体含义是什么?

    Q: 比如:[root@localhost ~]# ps -ef | grep ApacheJetspeedroot 18887 18828 0 08:09 pts/0 00:00:00 grep A ...

  9. [Bzoj1051][HAOI2006]受欢迎的牛(缩环)

    1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 6676  Solved: 3502[Submit][Sta ...

  10. ZOJ 1232 【灵活运用FLOYD】 【图DP】

    题意: copy自http://blog.csdn.net/monkey_little/article/details/6637805 有A个村子和B个城堡,村子标号是1~A,城堡标号是A+1~B.马 ...