基本用法

git chery-pick命令的作用,就是将指定的commit应用于其他分支

git chery-pick <commitHash>

上面的命令会将指定的提交<commitHash>应用于当前分支,并在当前分支上产生一个新的提交

举例来说,现在仓库有masterdev两个分支 其中master的最新提交为5f4a94bdev分支的最新提交为aa18072,如果我们想把dev上的提交aa18072应用于master上,就可以使用git chery-pick

#  切换到master分支上
git checkout master

# chery-pick操作
git chery-pick aa18072

执行完后我们再查看master分支,会发现master分支上多了和dev分支上相同的提交,但它们的commitHash是不一样的

git chery-pick命令的参数不一定是commitHash,也可以是分支名,表示转移指定分支的最新提交,上面的命令也可以使用git chery-pick dev

进阶用法

转移多个提交

git chery-pick支持一次转移多个提交

git chery-pick <commitHashA> <commitHashB>

上面的命令会将A,B两个提交转移到当前分支上,并生成两个新的提交 如果想要转移一系列的提交,可以使用以下命令

git chery-pick A..B

上面的命令可以将从提交A和B之间的所有提交转移到当前分支上,注意提交A必须早于提交B,否则命令将失败,转移的提交中不会包含提交A,如果想要包含A,可以使用以下命令

git chery-pick A^..B

命令选项

git chery-pick常用的命令选项

  • -e,打开编辑器,编辑提交信息

  • -n,只更新工作区和暂存区,不产生新的提交

  • -s,在提交信息末尾加一行操作者签名

  • -x,在提交信息末尾加一行chery picked from commit

代码冲突

如果操作过程中发生代码冲突,chery pick会停下来,让用户决定如何操作

  • --continue,用户解决冲突后,第一步将修改提交到暂存区git add .,第二步使用git chery-pick --continue,让cherry pick继续

  • --abort,(git chery-pick --abort)放弃,回到操作前的样子

  • --quit,(git chery-pick --quit)退出,但是不回到操作前的样子

版权声明:如无特殊说明,文章均为本站原创,转载请注明出处

本文链接:https://www.ltfred.com/article/git-chery-pick/