zoukankan      html  css  js  c++  java
  • git cherry pick教程

    于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。

    这时分两种情况。一种情况是,你需要另一个分支的所有代码变动,那么就采用合并(git merge)。另一种情况是,你只需要部分代码变动(某几个提交),这时可以采用 Cherry pick。

    cherry-pick

    假如现在有两个分支v1.0,v1.1。
    v1.0有如下commit:

    commit 4d3b38f3e6b9f49776f6e2d2861f0425e10df8d6 (HEAD -> v1.0)
    Author: bin <bininhere@163.com>
    Date:   Tue Mar 19 10:33:43 2019 +0800
    
        feature5
    
    commit 65ad383c977acd6c7e7bed486bbf3631851a9eda
    Author: bin <bininhere@163.com>
    Date:   Tue Mar 19 10:30:44 2019 +0800
    
        feature4
    
    commit a2a438f2652166f13a6a2aa36f447968fff3b15d
    Author: bin <bininhere@163.com>
    Date:   Tue Mar 19 10:30:09 2019 +0800
    
        feature3
    

    现在v1.1需要合并feature4的功能,但不能合并feature3,feature5,怎么办?
    把代码复制过来吗?不!用cherry-pick

    git cherry-pick  65ad383c977acd6c7e
    

    如果文件有冲突,cherry-pick 会中断,
    你解决冲突后,使用git add添加冲突文件,使用git cherry-pick --continue完成cherry-pick操作。
    或者使用git cherry-pick --abort中断操作。

    如果你cherry-pick的是别人分支的commit,可能会遇到错误fatal: bad object ...,那是因为git cherry-pick是本地特性,本地要有这个commit才可以被git cherry-pick。如果没有这个commit id,就会出现这个错误。


    http://www.ruanyifeng.com/blog/2020/04/git-cherry-pick.html
     
  • 相关阅读:
    10.19
    10.17
    张钊的作业
    张钊的第十一份作业
    张钊的第十份作业
    张昭的第九次作业
    张钊的第八份作业
    张钊的第七份作业
    张钊的第六次作业啊
    张钊O的第五次作业
  • 原文地址:https://www.cnblogs.com/youxin/p/13548182.html
Copyright © 2011-2022 走看看