-
作用: 将指定的提交(commit)应用于其他分支。
-
用法:
git cherry-pick <commitHash>
该commitHash为git的hash值
一、转移单个提交
场景:
分支master:A-B-C-D
分支dev: e-f-g-h
-
将g应用于master分支上(常用)
git checkout master git cherry-pick g git push
报错请看最后第三点
-
应用分支的最新提交(将dev的最新提交应用到master)
git checkout master git cherry-pick dev git push
报错请看最后第三点
二、转移多个提交
场景:
分支master:A-B-C-D
分支dev: e-f-g-h
-
一次转移多个提交(相对较少 或者 不连续)
- 转移e、g到分支master上
git checkout master git cherry-pick e g git push
报错请看最后第三点
-
一次性转移多个连续提交
- 转移f、g、h到分支master上(方法一)
git checkout master git chery-pick e..h git push
-
请注意,该命令并不会包含e
-
报错请看最后第三点
- 转移f、g、h到分支master上(方法二)
git checkout master git chery-pick f^..h git push
报错请看最后第三点
三、报错处理
-
原因:存在冲突
-
处理:
-
解决冲突,之后执行
git cherry-pick --continue git push
如--continue之后,仍存在冲突,则重复上述步骤
-
存在冲突太多,或者其他原因,不想继续cherry-pick,返回最初点。
git cherry-pick --abort
-
网友评论