git-cherry-pick - 将一些现有提交引入的更改 应用到当前的代码上
Draft 持续更新中……
git cherry-pick [--edit] [-n] [-m <parent-number>] [-s] [-x] [--ff]
[-S[<keyid>]] <commit>…
git cherry-pick (--continue | --skip | --abort | --quit)
根据现有的一个或者多个提交,应用所有这些提交里面的每一个改动,并形成新的提交(Optional),不过需要你当前的工作区是干净的,没有任何修改。
当出现不清楚如何应用更改发生冲突时,会发生以下情况:
CHERRY_PICK_HEAD
则指向因不清楚如何应用更改而引起冲突的提交。
-e / --edit
--cleanup=
https://git-scm.com/docs/git-cherry-pick/en
and https://git-scm.com/docs/git-commit
-x
-r
-m / --mainline
-n / --no-commit
-s / --signoff
--ff
--allow-empty
git commit --allow-empty
默认情况下,cherry-picking 空提交将失败,表明需要显式调用。此选项会覆盖该行为,允许在 cherry-pick 中自动保留空提交。请注意,当“–ff”生效时,即使没有此选项,也将保留满足“快进”要求的空提交。另请注意,使用此选项仅保留最初为空的提交(即提交记录与其父级相同的树)。由于先前的提交而变为空的提交将被删除。要强制包含这些提交,请使用--keep-redundant-commits
.--allow-empty-message
--keep-redundant-commits
--strategy=
-x
将特定于合并策略的选项传递给合并策略。有关详细信息,请参阅git-merge [1]。--rerere-autoupdate / --no-rerere-autoupdate
--continue
--skip
--quit
--abort
git cherry-pick master
在 master 分支的顶端应用提交引入的更改,并使用此更改创建一个新的提交。
git cherry-pick ..master
git cherry-pick ^HEAD master
应用由所有提交引入的更改,这些提交是 master 的祖先而不是 HEAD 的祖先,以产生新的提交。
git cherry-pick maint next ^master
git cherry-pick maint master..next
应用作为 maint 或 next 祖先的所有提交引入的更改,但不是 master 或其任何祖先。请注意,后者并不意味着andmaint之间的所有内容;具体来说, 如果包含在.masternextmaintmaster
git cherry-pick master~4 master~2
应用由 master 指向的倒数第五次和倒数第三次提交引入的更改,并使用这些更改创建 2 个新提交。
git cherry-pick -n master~1 next
将由 master 指向的倒数第二个提交和 next 指向的最后一个提交引入的更改应用于工作树和索引,但不要使用这些更改创建任何提交。
git cherry-pick --ff ..next
如果 history 是线性的并且 HEAD 是 next 的祖先,则更新工作树并将 HEAD 指针前进以匹配 next。否则,将 next 但不是 HEAD 中的那些提交引入的更改应用到当前分支,为每个新更改创建一个新提交。
git rev-list --reverse master -- README | git cherry-pick -n --stdin
将接触 README 的 master 分支上的所有提交引入的更改应用到工作树和索引,因此可以检查结果并在合适的情况下将其放入单个新提交中。
以下序列尝试向后移植补丁,由于应用补丁的代码更改太多而退出,然后再次尝试,这次更加注意匹配上下文行。
$ git cherry-pick 主题^ (1)
$ git diff (2)
$ git cherry-pick --abort (3)
$ git cherry-pick -Xpatience 主题^ (4)
git show topic^
。在此示例中,补丁没有完全应用,因此有关冲突的信息被写入索引和工作树并且没有新的提交结果。topic^
,花费额外的时间来避免基于不正确匹配上下文行的错误。https://git-scm.com/docs/git-cherry-pick/en
https://zhuanlan.zhihu.com/p/521727201