首页/开发/Git 与协作速查/cherry-pick 合并提交(-m)
合并变基与冲突71 条

cherry-pick 合并提交(-m)

合并提交有两个父提交,拣选时必须用 -m 指定以哪个父为主线;-m <父编号> 表示相对该父提交重放此合并引入的差异。

Git 与协作速查开发更新于 2026-10-12
语法git cherry-pick -m <父编号> <合并提交>
父编号1 为合并时所在分支(主干侧),2 为被合入分支
替代方案优先挑拣合并内的普通提交;撤销合并用 git revert -m <父编号>

常用示例

常用示例
git show --no-patch --pretty=%P <merge_sha>
git cherry-pick -m 1 <merge_sha>
git log -1 --format='%H %s'
对合并提交拣选语义容易误解:优先挑拣其内部普通提交;撤销合并需用 git revert -m 指定主线父。

易错点

  • 父编号选错会把另一侧内容带过来,先用 git show --pretty=%P 看清新旧父顺序
  • 拣选合并提交常产生不直观的差异,评审时要特别说明来龙去脉

数据来源与参考

  • Git 官方文档:git-cherry-pick(-m)
  • Git 官方文档:git-revert(-m)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌