git commit --amend --no-edit 用法记录
今天记录一个我在日常提交流程里高频用到的命令:git commit --amend --no-edit。
这个命令最适合“刚刚提交完,发现还漏了文件或只改了点小东西,但不想改 commit message”的场景。
一句话理解
--amend是“修改上一次提交”,--no-edit是“保留上一次提交信息不变”。典型使用场景
- 提交后发现漏加了一个文件。
- 提交后发现有个很小的 typo。
- 只是补充同一批改动,不想再产生一个新的 commit。
- 一个完整示例
1
2
3
4
5
6
7
8
9# 第一次提交
git add .
git commit -m "feat: add login api"
# 发现漏了一个文件
git add src/utils/request.ts
# 合并进上一次提交,message 保持不变
git commit --amend --no-edit
执行后,你会看到提交哈希(commit id)变了,但 message 还是原来的内容。
- 注意点
- 这个操作会改写最近一次提交历史。
- 如果最近一次提交已经
push到远程,需要强制推送:
1 | git push --force-with-lease |
- 协作分支谨慎使用,避免影响他人基于旧提交继续开发。
- 小结
如果只是“补一点点到上一次提交里”,git commit --amend --no-edit是最省事的方式;
既能保持提交历史干净,也能避免产生无意义的小碎 commit。