git cherry-pick与git cherry命令详解

1.git cherry-pick,对当前分支apply已有的commits

特性:

  • 对于给定的一个或多个已有的commits,在当前工作分支上,再次apply并生成新的commits
  • 当前工作分支必须是干净的,即HEAD不包含本地commits

使用:

git cherry-pick [--edit] [-n | --no-commit] [-m parent-number] [-s] [-x] [--ff] [-S[]] …​

git cherry-pick --continue | --quit | --abort


选项说明:

  • --edit,编辑commit message
  • -n, --no-commit,只是在当前分支上apply这些commits的改变,但是不提交到当前分支

示例:

  • git cherry-pick master
  • git cherry-pick ..master
  • git cherry-pick ^HEAD master



2.git cherry,查看当前分支及远程upstream之间commits的区别,给出是否applied

特性:

  • 基于git diff,在到区间与到区间比较commits
  • 输出结果为在和区间内的所有commits的SHA-1列表
    • 其中前缀-表示中已apply
    • 其中前缀+表示中未apply

使用:

git cherry [-v] [ [ []]]

说明:

  • 默认为当前分支的HEAD对应的远程upstream分支
  • 默认为当前分支的HEAD

示例:

git cherry origin/master topic base


参考文献:

https://git-scm.com/docs/git-cherry-pick

https://git-scm.com/docs/git-cherry


你可能感兴趣的:(Git)