You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Git cherry-pick时添加额外修改内容?

解决Git Cherry-Pick无冲突时添加额外修改的简便方法

当cherry-pick无冲突完成后需要添加额外修改时,不用先回退再重做,直接用--no-commit配合CHERRY_PICK_HEAD引用就能高效解决:

具体步骤

  • 执行带--no-commit的cherry-pick,保留原提交的变更但不完成提交:
git cherry-pick -x --no-commit <ref>
  • 添加你的额外修改(比如ChangeLog、NEWS条目),并暂存这些修改:
git add <你的额外修改文件路径>
  • 复用原提交的作者信息和提交内容完成最终提交:
git commit -C CHERRY_PICK_HEAD

关键说明

CHERRY_PICK_HEAD是Git在执行cherry-pick操作时自动创建的临时引用,不管是否用--no-commit,它都会保存被cherry-pick的原提交的完整信息(作者、提交消息等)。git commit -C命令会直接复用这个引用里的提交信息,同时合并你新增的修改内容。

简化操作:封装Git别名

如果经常需要这个操作,可以封装成全局Git别名,一键完成流程:

git config --global alias.cp-with-edit '!git cherry-pick -x --no-commit $1 && git add . && git commit -C CHERRY_PICK_HEAD'

之后只需执行git cp-with-edit <ref>即可(注意git add .会暂存所有未跟踪/修改的文件,若只想暂存特定文件,替换成具体路径即可)。

内容的提问来源于stack exchange,提问作者emacs drives me nuts

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 00:49:54