{T}

Git commit 选项

Git commit 的选项配置和说明

1. -a, --all

配置: 将所有已跟踪的文件添加到提交中,包括未修改的文件。

说明: 此选项适用于提交所有已跟踪的文件,包括那些没有被修改的文件。例如添加了一个新文件到仓库中,但还没有对其进行任何修改,使用 -a 选项可以将其添加到提交中

bash
git commit -a -m "Add new file"

2. -m, --message

配置: 指定提交信息

说明: 此选项用于指定提交信息。提交信息应该简明扼要地描述提交的内容

bash
git commit -m "Fix bug in function X"

3. -v, --verbose

配置: 显示更详细的提交信息,包括每个文件的更改。

说明: 此选项用于显示更详细的提交信息,包括每个文件的更改。这对于调试或查看提交的具体内容非常有用。

bash
git commit -v -m "Refactor code"

4. --no-verify

配置: 绕过提交前的钩子

说明: 此选项用于绕过提交前的钩子。提交前的钩子是一些脚本,可以在提交之前运行,以检查提交是否符合某些规则。例如,您可以使用提交前的钩子来确保提交信息符合一定的格式

bash
git commit --no-verify -m "Skip pre-commit hooks"

5. --amend

配置: 修改上一次提交。

说明: 此选项用于修改上一次提交。这对于修改提交信息或添加忘记添加的文件非常有用

bash
git commit --amend -m "Fix typo in commit message"

6. --date

配置: 设置提交时间。

说明: 此选项用于设置提交时间。默认情况下,提交时间是当前时间。

bash
git commit --date="2023-11-15" -m "Backdate commit"

7. --author

配置: 设置提交作者

说明: 此选项用于设置提交作者。默认情况下,提交作者是当前用户

bash
git commit --author="John Doe <john.doe@example.com>" -m "Fix bug"

8. --signoff

配置: 在提交信息中添加 "Signed-off-by" 行

说明: 此选项用于在提交信息中添加 "Signed-off-by" 行。这表明提交者已签署开发者证书协议 (DCO)

bash
git commit --signoff -m "Add new feature"

9. --edit

配置: 打开文本编辑器编辑提交信息。

说明: 此选项用于打开文本编辑器编辑提交信息。这对于编辑提交信息或添加更多详细信息非常有用

bash
git commit --edit -m "Initial commit"

10. --reset-author

配置: 将提交作者重置为当前用户。

说明: 此选项用于将提交作者重置为当前用户。这对于修改提交作者非常有用

bash
git commit --reset-author -m "Fix typo in commit author"

11. --allow-empty

配置: 允许提交空提交。

说明: 此选项用于允许提交空提交。空提交是没有任何文件更改的提交

bash
git commit --allow-empty -m "Fix typo in previous commit message"

12. -f, --force

配置: 强制覆盖历史记录。

说明: 此选项用于强制覆盖历史记录。这对于修改提交历史或合并分支非常有用

bash
git commit -f -m "Merge branch X"

13. -n, --no-edit

配置: 不打开文本编辑器编辑提交信息。

说明: 此选项用于不打开文本编辑器编辑提交信息。这对于使用默认提交信息或使用提交模板非常有用。

bash
git commit -n -m "Fix bug in function Y"

14. --patch

配置: 提交部分文件的更改

说明: 此选项用于提交部分文件的更改。这对于只提交特定文件的更改非常有用

bash
git commit --patch -m "Fix bug in file X"

15. --squash

配置: 将多个提交合并为一个提交

说明: 此选项用于将多个提交合并为一个提交。这对于清理提交历史或合并多个分支非常有用

bash
git commit --squash -m "Merge multiple commits"

16. --fixup

配置: 将当前提交合并到指定的提交中

说明: 此选项用于将当前提交合并到指定的提交中。这对于修复上一次提交的错误非常有用

bash
git commit --fixup HEAD~1 -m "Fix typo in previous commit"

17. --rebase

配置: 将当前分支重新基于另一个分支

说明: 此选项用于将当前分支重新基于另一个分支。这对于更新分支或合并分支非常有用

bash
git commit --rebase master -m "Rebase branch X on master"

18. --cherry-pick

配置: 从另一个分支选择一个提交并应用到当前分支

说明: 此选项用于从另一个分支选择一个提交并应用到当前分支。这对于将另一个分支的更改合并到当前分支非常有用

bash
git commit --cherry-pick master~1 -m "Cherry-pick commit from master"

19. --gpg-sign

配置: 使用 GPG 签名提交

说明: 此选项用于使用 GPG 签名提交。这对于确保提交的完整性和真实性非常有用

bash
git commit --gpg-sign -m "Sign commit with GPG"

20. --short

配置: 显示提交信息的简短版本

说明: 此选项用于显示提交信息的简短版本。这对于查看提交历史或比较提交非常有用

bash
git commit --short -m "Fix bug in function Z"

21. --branch

配置: 指定提交的分支

说明: 此选项用于指定提交的分支。默认情况下,提交将提交到当前分支

bash
git commit --branch feature/X -m "Add new feature"

22. --remote

配置: 指定提交的远程仓库

说明: 此选项用于指定提交的远程仓库。默认情况下,提交将提交到本地仓库

bash
git commit --remote origin -m "Push commit to origin"

23. --tag

配置: 指定提交的标签

说明: 此选项用于指定提交的标签。这对于标记发布或里程碑非常有用

bash
git commit --tag v1.0.0 -m "Release version 1.0.0"

24. --sign

配置: 使用您的 SSH 密钥签名提交。

说明: 此选项用于使用您的 SSH 密钥签名提交。这对于确保提交的完整性和真实性非常有用

bash
git commit --sign -m "Sign commit with SSH key"

25. --trailer <key=value>

配置: 添加一个提交预告

说明: 此选项用于添加一个提交预告。提交预告是添加到提交信息末尾的键值对。

bash
git commit --trailer Issue=123 -m "Fix bug"

一些额外的技巧

  • 使用 git config 命令配置默认的提交选项
  • 使用 git commit -h 命令查看所有可用选项
  • 使用 git commit --help 命令查看特定选项的帮助信息