使用cherry-pick但不提交
用 git cherry-pick -n 或 git cherry-pick --no-commit 就行。这是 Git 官方支持的参数,含义是:把目标提交引入的改动应用到工作区 + 暂存区(index),但不自动生成新提交。
基本用法
# 单个提交,应用但不提交
git cherry-pick -n <commit-hash>
# 多个提交,效果累积到暂存区,最后合成一个提交
git cherry-pick -n <commit-A> <commit-B> <commit-C>
# 或范围(含 A 和 C)
git cherry-pick -n A^..C
后续两种收尾
-
满意了,手动提交:
git commit -m "Backport fix from <original-hash>"想保留溯源线索可改用普通
git cherry-pick -x,但那就不是“不提交”流程了。 -
不想拿了,回滚:
git cherry-pick --abort # 官方中止,回到命令前状态 # 或已 -n 应用完了又反悔: git reset --hard HEAD # 注意会丢掉所有未提交改动 git checkout -- <file> # 只丢弃某个文件
留下评论