基本用法
git commit --amend
- 作用:修改最近一次提交的提交信息或提交内容。
- 执行后:Git 会打开默认编辑器,让你修改提交信息,或者允许你添加/删除文件到这次提交。
常见使用场景
- 修改提交信息
- 如果你提交后发现提交信息写错了,可以用以下命令修改:
bash git commit --amend -m "新的提交信息"
- 直接指定新的提交信息,无需进入编辑器。
- 添加漏掉的文件
- 如果你提交后发现忘记添加某些文件:
- 修改或添加文件到暂存区:
bash git add 文件名
- 运行:
bash git commit --amend
- Git 会将新的暂存内容合并到上一次提交中,并允许你修改提交信息(如果需要)。
- 修改或添加文件到暂存区:
- 不修改提交信息
- 如果只想修改提交内容但保留原提交信息:
bash git commit --amend --no-edit
注意事项
- 已推送的提交:如果提交已经推送到远程仓库(如 GitHub),使用
git commit --amend
会改变提交的哈希值,导致历史不一致。推送修改后需使用:
git push --force
但要谨慎,强制推送可能会影响协作者。
- 仅限最近一次提交:
git commit --amend
只能修改最近一次提交。如果需要修改更早的提交,需使用git rebase
或其他高级命令。 - 备份:建议在操作前备份分支,以防误操作导致数据丢失。
示例
- 修改提交信息:
git commit -m "错误信息"
git commit --amend -m "正确信息"
- 添加漏掉的文件:
git commit -m "初次提交"
git add 漏掉的文件.txt
git commit --amend --no-edit
其他相关命令
- 如果需要撤销 amend 操作,可以使用:
git reset --soft HEAD@{1}
查看 git reflog
获取之前的提交哈希。