用 git commit --amend 可修正未推送的最近一次提交信息:默认调起编辑器修改,或加 -m 参数直接指定新消息;执行后需用 git log --oneline -1 核对消息更新及哈希值变化以确认生效。

你刚在 Mac 上执行了 git commit,发现提交信息写错了,比如拼错单词、漏掉关键描述,或格式不符合团队规范,而这个提交还没运行 git push 推送到远程仓库——这时必须立刻修正,否则错误信息会污染历史。
用 --amend 直接覆盖最近一次提交信息
这一步操作起来很简单,直接在终端中进入项目根目录即可执行。
运行命令:git commit --amend。
终端会自动调起你的默认编辑器(Mac 默认通常是 Vim 或 Nano;若配置过 VS Code,则可能打开它)。编辑器中第一行就是当前的 commit message,光标默认停在开头,直接修改即可。
Vim 用户注意:按 【i】 进入插入模式才能输入文字;改完后按 Esc 退出编辑→输入 【:wq】 回车保存并退出。如果误按了其他键导致卡住,先连按两次 Esc 确保回到普通模式,再输 :wq。
跳过编辑器,用 -m 一次性指定新消息
当你只想快速替换文字、不想等编辑器加载,或者正在写脚本批量处理时,这个方法最省事。
执行命令:git commit --amend -m "修复用户头像上传失败问题"。
引号内的内容将完全替代原提交信息,不保留旧内容,也不触发任何编辑器。注意:如果消息里含空格或特殊符号,必须用英文引号包裹,否则 shell 会报错。
确认修改是否生效
第一步:查看最新一条提交的简略信息。
运行:git log --oneline -1。
第二步:核对输出的第一行是否已更新为你刚写的新消息。如果仍显示旧内容,说明上一步没成功执行,或误在其他分支操作。
第三步:检查提交哈希值是否已变化。amend 操作会生成全新 commit 对象,SHA-1 值必然不同——这是修改成功的铁证,不是覆盖而是替换。


















