Skip to content

git commit 命令语法

git commit 命令在 Git 中用于将暂存区的更改记录到仓库历史中。这是 Git 工作流的一个核心部分,允许你将更改集成到项目的历史中。以下是 git commit 命令的基本语法和常用选项:

基本语法

git commit [-m <msg> | -a | --amend | <other options>]
  • -m <msg>: 直接在命令行中提供提交消息。<msg> 是你的提交信息。
  • -a--all: 自动将所有已修改和已删除的文件添加到暂存区,但不包括新文件。
  • --amend: 修改最后一次提交。这可以用来更正提交消息或将新的更改添加到最近的提交中。

常用选项

  1. -m <msg>: 提交时添加消息。这是最常用的选项之一。
  2. -a--all: 自动暂存所有已跟踪的文件(即之前已经添加到暂存区的文件)。
  3. --amend: 修改上一次提交。这不会创建一个新的提交,而是替换上一次提交。
  4. --no-edit: 在使用 --amend 时,保留之前的提交信息,不打开文本编辑器。
  5. -s--signoff: 在提交消息中添加一个签名字段。
  6. --no-verify: 跳过 pre-commit 和 commit-msg 钩子。
  7. -v--verbose: 在提交消息的编辑器中显示差异信息。

示例

  • 创建一个新的提交:
    git commit -m "Add new feature"
  • 修改并替换上一次提交:
    git commit --amend -m "Correct typo in last commit"
  • 自动暂存所有修改并提交:
    git commit -a -m "Update files"

注意事项

  • 在运行 git commit 前,需要使用 git add 将更改添加到暂存区,除非使用 -a 选项。
  • 提交消息应清晰、准确地描述更改的内容和原因。
  • 使用 --amend 时要小心,特别是在已经将更改推送到远程仓库后,因为它会改变提交历史。如果更改已经推送,你可能需要强制推送来更新远程仓库,这可能会影响其他协作者。