git commit 模板配置

本文介绍了如何提高Git提交信息的质量,包括commit message的写作规范、各字段的意义及如何设置默认编辑器等,帮助开发者更好地协作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Git Log 之痛

在《The Art of Readable Code》这本经典书中,有个形象的比喻,衡量代码可读性的指标是阅读代码时每分钟的 WTF 次数,而在读 Git 提交历史的时候,不知道你有多少次爆粗口?不相信?你现在打开公司演进最快的项目,执行 git log,信息量过少甚至是误导的 commit message 非常常见,比如:

fix     => 这到底是 fix 什么?为什么 fix?怎么 fix 的?
update  => 更新了什么?是为了解决什么问题?
test    => 这个最让人崩溃,难道是为了测试?至于为了测试而去提交一次代码么?

说不定,你在这种 commit message 中也贡献了一份力量呢。

解决问题

commit message包含三个部分,header, body和footer,其中header必须有,body和footer可以按情况省略。

type 字段

  • feat:新功能(feature)
  • fix:修补bug
  • docs:文档(documentation)
  • style: 格式(不影响代码运行的变动)
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  • test:增加测试
  • chore:构建过程或辅助工具的变动

scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

也就是写用户会感觉到改变在哪个地方。

subject是 commit 目的的简短描述,不超过50个字符

  • 以动词开头,使用第一人称现在时,比如change,而不是changed或changes
  • 第一个字母小写
  • 结尾不加句号(.)

Body 部分是对本次 commit 的详细描述,可以分成多行

  • 使用第一人称现在时,比如使用change而不是changed或changes。
  • 应该说明代码变动的动机,以及与以前行为的对比。

Footer

  • 如果当前代码与上一个版本不兼容,则 Footer 部分以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法。
  • 关闭 Issue

 

修改git message默认编辑器

说了这么多写作规范,如果有个模板可以直接拷贝,是再好不过的。

使用模板之前,先对git message的默认编辑器做个修改,默认的是nano,但这个软件我不会用。

用下面的命令,可以把默认编辑器改成vim


git config core.editor "vim"

另外,在这里也提供一个提交模板

 

curl https://gist.githubusercontent.com/keniushadu/5c7de811bfd77c4cd9c5cd981d401d0d/raw/e048f777bd690767c13544b63f936c1a3219da5e/commit-msg.txt >> ~/.git-commit-template.txt
git config --global commit.template ~/.git-commit-template.txt

### 配置Git Commit编辑器或界面的方法 在Git中,配置提交时使用的编辑器可以通过`git config`命令实现。以下是具体的配置方法和相关信息: #### 1. 配置全局默认编辑器 通过以下命令可以将Vim设置为全局默认Git提交编辑器: ```bash git config --global core.editor "vim" [^1] ``` 如果只想对当前用户生效,可以省略`--global`参数: ```bash git config core.editor "vim" [^1] ``` #### 2. 使用其他编辑器 除了Vim,还可以选择其他编辑器,例如Nano、VS Code等。以下是配置示例: - **Nano**: ```bash git config --global core.editor "nano" ``` - **VS Code**: ```bash git config --global core.editor "code --wait" [^1] ``` 注意:`--wait`参数确保VS Code完成编辑后等待保存并退出。 #### 3. 配置Commit消息模板 为了规范化提交信息,可以配置一个Commit消息模板文件。首先创建模板文件(例如`~/.git-commit-template.txt`),然后通过以下命令将其设置默认模板: ```bash git config --global commit.template "~/.git-commit-template.txt" [^4] ``` #### 4. 简化Commit操作 对于不需要详细描述的提交,可以直接使用`-m`参数指定提交信息: ```bash git commit -m "Fix typo in introduction to user guide" [^2] ``` 此外,`-a`参数可以跳过暂存区直接提交已跟踪文件的修改,但不建议频繁使用,以免遗漏未跟踪的新文件[^3]。 #### 5. 修改最近一次提交信息 如果需要修改最近一次提交的信息,可以使用以下命令: ```bash git commit --amend ``` 此命令会打开默认编辑器以修改上次提交的消息。 ### 示例代码 以下是一个完整的配置流程示例: ```bash # 设置全局编辑器为VS Code git config --global core.editor "code --wait" # 创建Commit消息模板文件 echo "Title: Short summary (50 chars or less)" > ~/.git-commit-template.txt echo "" >> ~/.git-commit-template.txt echo "Body: More detailed explanatory text (72 chars or less per line)" >> ~/.git-commit-template.txt # 配置全局Commit模板 git config --global commit.template "~/.git-commit-template.txt" ``` ### 注意事项 - 配置完成后,可以通过`git config --list`检查当前设置。 - 如果需要恢复默认编辑器,可以删除相关配置项: ```bash git config --global --unset core.editor ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值