GIT 使用cherry-pick 重演其他分支的提交

时间:2015-08-10 19:44:18   收藏:0   阅读:681
在使用Git时是否会遇到这样的问题:
你正在使用Git进行版本控制,某天你接着昨天的工作了提交了N个提交,结果在合并远程分支的时候才发现原来你在工作之前没有注意到你要提交的分支状态
结果导致你本来要提交到hotfix分支的提交结果全部提交到了dev分支上,而远程分支你的同事已经提交了很多更改,如果遇到这种情况该怎么做呢?
  1. 从远程分支提取所有的提交(这时你本地的hotfix分支跟远程分支是一样的)
  2. 在hotfix分支上,使用cherry-pick合并原本属于hotfix分支的提交而提交到dev分支的提交(需要手动合并冲突)
  3. 切换dev分支,将属于hotfix分支的提交移除或直接恢复到最后一次dev分支历史上
  4. 切换hotfix分支并继续工作
由于cherry-pick没有使用过,所以以下是从创建仓库到完成重演的所有提交,主要是了解cherry-pick是如何工作的

git-scm#cherry-pick:可以理解为 再次提交/重演已经提交过的提交(可以在同一分支或不同分支)

技术分享
 
参考:
    CHERRY-PICKING EXPLAINED
    git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
    图解Git
    3.6 Git 分支 - 变基
    git cherry-pick 把提交到A分支的部分commit 再提交到B分支上
    git cherry-pick 處理專案 pull request
    git cherry-pick 最佳实践
    一个 Git 学习的网站
    Replay the last N git commits on a different branch
    How to replay a commit onto a branch that already contains the commit?
    测试数据下载:百度云盘
 



来自为知笔记(Wiz)

原文:http://www.cnblogs.com/huangtailang/p/4718642.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!