做一个有涵养的技术人-git日志模版

2023-02-28 13:56:02 浏览数 (1)

大家好,我是热心的大肚皮,皮哥。

作为程序猿,在平时工作中,大家的水平和工作内容差不多的情况下,如何突出我们的能力呢,今天皮哥教大家一招。

git log之痛

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

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

在团队合作中,大家应该也遇到过,随意提交的代码,在git log 里完全看不出来我们的队员做了什么功能,为什么要提这个呢?其实细节决定成败,往往微小的细节,越能看出我们的职业操守与技术涵养。

那么如何牛逼的体现我们的level呢?给大家一个git 提交模版。

代码语言:javascript复制
# Type(<scope>): <subject>

# <body>

# <footer>

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

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

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

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

# Footer用来关闭 Issue或以BREAKING CHANGE开头,后面是对变动的描述、
#       以及变动理由和迁移方法

设置的方式如下:

代码语言:javascript复制
git config --global commit.template ~/.git-commit-template.txt
git

0 人点赞