zoukankan      html  css  js  c++  java
  • git cherry-pick

    今天给大家介绍git一个非常实用的技能cherry-pickcherry-pick字面翻译就是捡樱桃(吃货们请自重),但在git里,它的功能是把已经存在的commit进行挑选,然后重新提交。下面大家可以脑补一下这种情况,本地仓库有3个分支mastertestnormal,他们的提交记录如下:

    master的基础上,test进行了2次提交,normal进行了1次提交。现在想把test的第2次提交(仅仅是第2次提交,不包含第1次提交)和normal的第1次提交合并到master分支,直接merge分支是行不通的,这样会把两个分支的全部提交都合并到master,用cherry-pick即可完美的解决问题, 如果normal第一次提交的SHA-1值是9b47ddtest第二次提交的值是dd4e49,执行如下命令即可把这两个提交合并到master

    git cherry-pick 9b47dd dd4e49

    如果有冲突,则需要修改冲突文件,然后添加修改文件到暂存区,命令如下:

    git add main.js

    最后执行

    git cherry-pick --continue

    最后要说明的是:

    • 执行完git cherry-pick --continue后不需要commit了,该命令会自动提交
    • git cherry-pick --abort可以放弃本次cherry-pick
    • git cherry-pick 9b47dd dd4e49git cherry-pick dd4e49 9b47dd这两个的结果可能会不一样,顺序很重要

    最好借用工具解决冲突,GitTortoise

  • 相关阅读:
    BZOJ 4236~4247 题解
    OCUI界面设计:滚动视图与分页控件初探
    大数乘法
    Effective C++ 11-17
    [Matlab+C/C++] 读写二进制文件
    Java 反射 方法调用
    如何使用LaTeX让自己不乱?
    LaTeX 相对于 Word 有什么优势?
    你在发表理科学术文章过程中有哪些经验值得借鉴?
    破译手势在对话中的意义
  • 原文地址:https://www.cnblogs.com/ustc-anmin/p/11693230.html
Copyright © 2011-2022 走看看