应用环境:

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

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

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

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

怎么办?

于是你想到,合并分支.

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

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

使用方法:

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

zhangzhi@moke:~/code/demo$git checkout master

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

zhangzhi@moke:~/code/demo$git log
commit 641ebe8c7eaa56479e81f03358118e464a49de89
Author: zhangzhi <zzhi.net@gmail.com>
Date:   Wed Jul 22 18:12:30 2015 +0800bug fixed!

我们从提交日志中找到 commitID

641ebe8c7eaa56479e81f03358118e464a49de89

3. 切换到 dev 分支下

zhangzhi@moke:~/code/demo$git checkout dev

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

zhangzhi@moke:~/code/demo$git cherry-pick '641ebe8c7eaa56479e81f03358118e464a49de89'
Finished one cherry-pick.
# On branch dev
# Your branch is ahead of 'origin/dev' by 1 commits.

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

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

最后  git push

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

  1. git cherry pick

    直接将选定的其他分支的commit,提交到该分支上 不建议使用 git rebase --onto 使用cherry pick代替 http://weblog.avp-ptr.de/20120928/ ...

  2. IDEA git cherry pick 简单使用

    cherry pick的作用: 参考了一些博客, eg: 参考博客1 参考博客2 再做了个小案例后,我目前的理解是,cherry pick的作用是将一个分支的部分提交/历史提交,可以合并到另外一个分支 ...

  3. 【git cherry pick冲突】

    修好了bug愉快的打算commit提交的时候 看到提示语句是can not commit changes due to unresolved conflicts 在Android Studio中寻找图 ...

  4. idea cherry pick 功能 git log 窗口 冲突conflict

    git log 窗口 参考 source tree cherry pick, merge conflict merge conflict 冲突 <<<<<<< ...

  5. 在gerrit上cherry pick多笔提交到一个仓库中

    我们的要求是在dvr_service仓库上从其他分支cherry pick 两笔提交到release/b03chn_rel_sop_3_nobo分支 这两笔提交分别如图所示 如图所示,B02-5746 ...

  6. Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突...

    Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下G ...

  7. git切换分支合并后再切回原来分支导致没有提交的代码丢失

    git切换分支合并后再切回原来分支导致没有提交的代码丢失 前言 在企业开发中,总会需要用远程仓库来管理整个团队的项目代码,git是我们常用的代码提交工具,虽然就我个人而言,在开发的过程中就只用到几个简 ...

  8. Git创建分支拉取代码到本地提交代码

    创建Git分支 1.查看所有分支 git branch 2.创建本地分支 git branch mybranch //mybranch新创建的分支名 3.切换到创建的分支 git checkout m ...

  9. git 改了一段代码不想要了_Git - 如何将master/其他分支上修改代码不提交直接移到新建分支...

    背景介绍: 有时候, 拿到需求, 就直接在master分支上开撸了, 其实也只是初步看下. 结果一来二去修改完毕, 完成了需求, 但是此时都在master分支, 提交必然是不可以的. 还是要新建分支, ...

最新文章

  1. Python+Dash快速web应用开发——基础概念篇
  2. swift date 计算差_[Swift 设计模式] 适配器
  3. 在Spring中嵌入HSQLDB服务器实例
  4. RTT线程管理篇——RTT启动流程
  5. 腾讯视频向湖北地区用户推出1个月免费看活动
  6. 网页嵌套:一个html嵌套到另一个html中
  7. 使用终端shell命令批量改动一个文件下的全部文件的读写权限
  8. EasyPR如何添加绿牌C++版
  9. 光时域反射仪 光通信工程TFN F7 OTDR 测试耗损必备
  10. Halcon 毛刺检测
  11. 全网第一 | Flink学习面试灵魂40问答案,文末有福利!
  12. Verilog初级教程(2)Verilog HDL的初级语法
  13. c语言中3次方函数图像,三次函数的性质
  14. Linux防火墙的配置
  15. GoLang 下载和安装
  16. ISO13485医疗器械质量管理体系认证是什么
  17. ftp服务器怎么用,3步完成ftp的安装与使用
  18. linux入门学习自我总结2
  19. Vue单向数据流(不要修改props)
  20. 【微信小程序云开发】1分钟学会实现上传、下载、预览、删除图片,并且以九宫格展示图片

热门文章

  1. Spring Boot 2.x中如何使用Log4j2记录日志
  2. 有人质疑面向对象编程?
  3. 皮一皮:双11到底买了啥...
  4. MySQL每秒57万的写入,带你装逼,带你飞 !!
  5. 一个员工的离职,背后都意味着什么?
  6. 每日一皮:程序员的生存状态 ...
  7. 收藏 | 这100+个免费API,免了自己去爬的烦恼!
  8. 每日一问一周汇总:第2期
  9. 微服务落地,我们在考虑什么?
  10. Log4j2的性能为什么这么好?