分类 软件工具 下的文章

git cherry-pick命令格式:ast

  ​​​​​git cherry-pick [--edit] [-n] [-m parent-number] [-s] [-x] [--ff] [-S[<keyid>]] <commit>…​bug

  git cherry-pick --continuedi

  git cherry-pick --quit文件

  git cherry-pick --abortco

 命令解读:参数

 <commit>…:

          须要合并的已发生的提交记录,多个用空格隔开,例如:git cherry-pick c1 c2 c3 c4;

 --edit:

         在合并前,git会要求你先填备注,就是每次提交前要填的提交备注;

 -n:

         默认状况下,cherry-pick命令执行成功后会自动提交合并的代码到本地仓库。若是使用该参数,cherry-pick执行成功后不会自动提交代码。当要合并多个提交记录的场景下,该参数特别有用处。例如:git cherry-pick -n c1 c2 c3 c4;

 -m: parent-number

        默认状况只会合并当前提交记录(例如c1)的代码,若是想要合并该次合并代码的父提交记录,则须要指定parent-number,例如:git cherry-pick -m c1  c2,意思就是合并c2,而且合并c2上一次提交的代码c1。这样就会将c1提交的文件也合并到当前分支;


git cherry-pick --continue

     用于在cherry-pick失败或者revert(回退)失败,处理完冲突后继续执行;

git cherry-pick --quit

    忽略当前正在执行的cherry-pick操做。在cherry-pick失败或者revert(回退)失败后,能够用来清除sequencer(序列器)的当前状态;

git cherry-pick --abort

   取消操做而且返回上一个sequencer的状态

二、转移多个连续提交

git cherry-pick A..B

上面的命令可以转移从 A 到 B 的所有提交。它们必须按照正确的顺序放置:提交 A 必须早于提交 B,否则命令将失败,但不会报错。

注意,使用上面的命令,提交 A 将不会包含在 Cherry pick 中。如果要包含提交 A,可以使用下面的语法。

git cherry-pick A^..B