如何回退Git连续提交范围且无需逐个确认提交消息?
Git批量回退提交时自动复用原提交消息的解决方法
临时解决:添加--no-edit参数
执行批量回退命令时,加上--no-edit参数就能让Git自动使用对应原提交的消息,不会触发编辑器要求确认。
示例命令:
- 回退从
commitX到commitY的连续提交(commitX^表示commitX的父提交):
git revert --no-edit commitX^..commitY
- 回退最近3个提交:
git revert --no-edit HEAD~3..HEAD
原因分析
你之前无需确认、现在需要的情况,大概率是Git配置被修改(比如设置了core.editor或commit.template),导致Git默认触发编辑器让你确认回退消息。--no-edit参数会强制跳过编辑步骤,直接使用Git生成的默认回退消息(原提交消息前会自动加上"Revert "前缀)。
永久配置(可选)
如果希望所有git revert操作都默认跳过消息编辑,无需每次加参数,可全局配置:
git config --global revert.noEdit true
之后执行回退时会自动复用原提交消息,若偶尔需要手动编辑消息,临时添加--edit参数即可覆盖该配置。
内容的提问来源于stack exchange,提问作者teo77
相关产品推荐
相关产品推荐

