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

    1.git cherry pick可以理解为”挑拣”提交,它会获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。 当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行合并,而是只想将某一次提交合入到本地当前分支上,那么就要使用git cherry-pick.

    cherry-pick类似于一个定制化的merge,它可以把其它分支上的commit一个个摘下来,合并到当前分支。

    2.比如我在develop分支完成了三个功能模块:feature A,feature B,feature C, 首先通过git log可以看到最新的提交。

    git cherry-pick的用法是:git cherry-pick commitID

    但是如果我们要将100个commit要合并到master分支怎么做呢?

    git一个区间操作方法。具体来讲是这样的:git cherry-pick commit1..commit100

    注意:这是一个左开右闭的操作,也就是说,commit1不会被合并到master分支,而commit100则会。

    3.更多用法

    1)git cherry-pick -n:如果不想 git cherry-pick 自动进行提交,则加参数-n即可

    2)git cherry-pick -e:如果想要在 git cherry-pick 后重新编辑提交信息,则使用 git cherry-pick -e 命令

    3)git cherry-pick –continue:在cherry-pick的过程中,如果发生冲突,需要先解决冲突,通过git add .将文件标记为已解决,然后可以使用git cherry-pick --continue命令,继续进行cherry-pick操作。

    如果要中断这次cherry-pick,则使用git cherry-pick --quit,这种情况下当前分支中未冲突的内容状态将为modified,

    如果要取消这次cherry-pick,则使用git cherry-pick --abort,这种情况下当前分支恢复到cherry-pick前的状态,没有改变。

    4)git cherry-pick < branchname >:如果在git cherry-pick后加一个分支名,则表示将该分支顶端提交进cherry-pick

    5. 常见问题

    1)The previous cherry-pick is now empty, possibly due to conflict resolution.

    在cherry-pick时出现冲突,解决冲突后本地分支中内容和cherry-pick之前相比没有改变,因此当在以后的步骤中继续git cherry-pick或执行其他命令时,由于此时还处于上次cherry-pick,都会提示该信息,表示可能是由于解决冲突造成上一次cherry-pick内容是空的。

    解决方案:

    执行git cherry-pick --abort取消上次操作。

    执行git commit --allow-empty,表示允许空提交。

    2)fatal: You are in the middle of a cherry-pick – cannot amend.

    在cherry-pick时出现冲突,没有解决冲突就执行git commit --amend命令,从而会提示该信息。

    解决方案:

    首先在git commit --amend之前解决冲突,并完成这次cherry-pick:

    $ git add .

    $ git cherry-pick --continue

  • 相关阅读:
    XGBoost,GBDT原理详解,与lightgbm比较
    开机或联网时自启动gunicorn
    mac下查看jdk安装版本及安装目录
    Linux常用操作
    ssh远程登录出现Host key verification failed.解决办法
    gunicorn运行显示connection in use解决办法
    nginx,gunicorn常用命令
    Git入门--创建版本库,关联远程库,从远程库下载
    【新手向】阿里云上ubuntu+flask+gunicorn+nginx服务器部署(二)项目部署
    系统护肤+身体
  • 原文地址:https://www.cnblogs.com/qqvvn/p/10057905.html
Copyright © 2011-2022 走看看