git commit

将暂存区的变更记录为一次提交

语法

git commit [<options>] [--] [<pathspec>...]

参数

参数说明示例级别
-m --message 指定提交信息 git commit -m "fix: 修复登录bug" 常用
--amend 修改最后一次提交 git commit --amend 常用
-a --all 自动暂存已跟踪文件的变更并提交 git commit -am "update" 常用
--no-edit 修改提交时不修改提交信息 git commit --amend --no-edit 进阶
--allow-empty 允许空提交 git commit --allow-empty -m "trigger CI" 进阶

示例

基本提交

git commit -m "feat: 添加用户注册功能"

暂存并提交

git commit -am "fix: 修复样式问题"
跳过 git add,但只对已跟踪文件有效

修改最后一次提交信息

git commit --amend -m "新的提交信息"
会改变 commit hash,已推送的慎用

追加文件到上次提交

git add forgotten-file.js
git commit --amend --no-edit
不改信息,只追加文件

常见错误

nothing to commit, working tree clean 没有暂存的变更,先用 git add 添加
Aborting commit due to empty commit message 必须提供 -m 参数或在编辑器中写入信息

技巧

相关命令