git cherry-pick 把提交到A分支的部分commit 再提交到B分支上

应用环境:

有一个主分支 master (这个分支只是用来合并其他通过测试的分支,及上线打版本)

另一个分支 dev (开发提交的分支)


当你通过一番挣扎终于搞定一个bug,顺手提交到 git 服务器,心里一阵暗爽。这时发现你当前所在的分支是 master !!!

这个分支不是开发者用来提交代码的,可惜现在剁手也晚了。


怎么办?

于是你想到,合并分支。

合并分支通常会带来各种各样的冲突,而且当前 dev 分支还在开发中,没有经过测试,所以就算合并也是 dev 合并 master 分支.

这时最好的解决方案就是用 cherry-pick


使用方法:

  1. 先切换到刚才你误操作的分支下 master 

littlegodz@hit:/D/git_learn (dev)
$git checkout master

2.然后找到你的提交信息

littlegodz@hit:/D/git_learn/demo (master)
$git log
commit 9dc57b4f8c7bab461752bdd9d639eb3f3c322da
Author: littlegodz <littlegodz@163.com>
Date:   Wed Jul 22 18:12:30 2015 +0800

    bug fixed!

我们从提交日志中找到 commitID  

9dc57b4f8c7bab461752bdd9d639eb3f3c322da

3. 切换到 dev 分支下

zhangzhi@moke:/D/git_learn/demo (master)
$git checkout dev

4. 把master 下的 bug fixed! 提交重新提交的 dev 分支下

LittleGodZ@HIT /D/git_learn (dev)
$ git  cherry-pick '9dc57b'
[dev b66c2bb] bug fixed!
 1 file changed, 1 insertion(+)

上面的提示信息告诉我们这个 commit 已经重新提交到了 dev 分支下.

注意,这个操作也许会报错,这时需要你手动去合并冲突,然后重新提交.


原文出处:http://yijiebuyi.com/blog/0e65f4a59a1cfa05c5b30ccb6c2f413d.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值