如何针对Git提交的变更执行命令并改写提交修复空行问题?
修复提交中多余空行的方案
修改最新提交
- 执行批量清理空行命令,根据需求选其一:
- 删除所有空行:
find . -type f -name "*.你要处理的文件后缀" -exec sed -i '/^$/d' {} + - 保留单个空行、删除连续多空行:
find . -type f -name "*.你要处理的文件后缀" -exec sed -i '/^$/N;/^\n$/D' {} +
- 删除所有空行:
- 暂存修改后的文件:
git add . - 改写最新提交(不改动原有提交信息):
git commit --amend --no-edit
修改历史提交(非最新)
- 启动交互式变基,将X替换为目标提交往前数的提交数量:
git rebase -i HEAD~X - 在弹出的编辑界面里,找到目标提交对应的行,把开头的
pick改成edit,保存后退出 - 执行上面的批量清理空行命令,处理多余空行
- 暂存修改:
git add . - 改写该历史提交:
git commit --amend --no-edit - 继续完成变基流程:
git rebase --continue
注意事项
- 如果目标提交已经推送到远程仓库,需要执行强制推送:
git push --force,但操作前务必确认团队成员没有基于该提交做后续修改,避免引发代码冲突。
内容的提问来源于stack exchange,提问作者Lorentz Vedeler
相关产品推荐
相关产品推荐

