git commit --amend --no-edit 用法记录

今天记录一个我在日常提交流程里高频用到的命令:git commit --amend --no-edit

这个命令最适合“刚刚提交完,发现还漏了文件或只改了点小东西,但不想改 commit message”的场景。

  • 一句话理解
    --amend 是“修改上一次提交”,--no-edit 是“保留上一次提交信息不变”。

  • 典型使用场景

  1. 提交后发现漏加了一个文件。
  2. 提交后发现有个很小的 typo。
  3. 只是补充同一批改动,不想再产生一个新的 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 还是原来的内容。

  • 注意点
  1. 这个操作会改写最近一次提交历史。
  2. 如果最近一次提交已经 push 到远程,需要强制推送:
1
git push --force-with-lease
  1. 协作分支谨慎使用,避免影响他人基于旧提交继续开发。
  • 小结
    如果只是“补一点点到上一次提交里”,git commit --amend --no-edit 是最省事的方式;
    既能保持提交历史干净,也能避免产生无意义的小碎 commit。