Featured image of post (翻译) 在 git 的 commit message 里解释 “为什么”

(翻译) 在 git 的 commit message 里解释 “为什么”

commit 时很多人会忽略日志或者随便写,在追溯问题用到 commit message 时,才知道正确写 commit message 是一个多么好的习惯

配图:https://unsplash.com/photos/i–IN3cvEjg

原文: https://8thlight.com/blog/dariusz-pasciak/2016/10/31/the-why-a-better-git-commit-message.html

原文 Archive: https://archive.vn/Nkekm


最近我被指派去修复一个集成第三方导致的问题,这个问题突然出现且并没有明显的出错原因。问题的根源在于一个页面上的 iframe 没有按照预定的方式工作。

首先我去 git blame 那行 iframe 相关的代码,看看针对它的最后修改是什么时候以及改了什么。看到的 diff 非常简单

1
2
- <iframe src="https://fake-3rd-party.com/widget?code=12345" />
+ <iframe src="https://fake-3rd-party.com/embed/WXYZ" />

没有什么神秘的东西,只能看到集成方式有所改变,并导致了这个问题。再看一下 commit message 会不会有别的信息,结果看到 commit message 是这样的:

1
2
3
Author: Some Guy <[email protected]>

    changed iframe src

Wow, 很有用的信息呢,谢谢某个好同事。

故事还没结束,但是我有一些想法。

当我们下次写 commit message 的时候,让我们花点时间思考一下这个 commit message 是否包含了足够的信息?能不能包含哪怕一点点关于发生了什么的上下文信息?可不可以多一条链接?或者其他有用的信息?

如果真的想不到怎么写一条有用的 commit message,可以问一下自己,「我为什么要做这个修改并提交?」,答案至少反应了这样改的动机,这本身就是非常有用的信息。至少将来可以从这里开始排查问题。

请在 commit message 里带上这个「为什么」。

Built with Hugo
主题 StackJimmy 设计