提问人:Madara's Ghost 提问时间:12/13/2012 更新时间:7/29/2020 访问量:11201
为什么用现在时描述 git 提交被认为是很好的做法?
Why is it considered good practice to describe git commits in the present tense?
答:
50赞
Shiplu Mokaddim
12/13/2012
#1
Git 是一个分布式 VCS(版本控制系统)。多个人可以处理同一个项目。它将从许多来源获得更改。
而不是写消息说提交者做了什么。最好将这些消息视为在存储库上应用提交后将要执行的操作的说明。
所以写一条这样的消息
修复 bug#1234
而不是
修复了 bug #1234
不要将 git 日志视为操作的历史记录,而是将所有提交所执行操作的序列描述视为日志。
关于它的黑客新闻有一个很大的线索。在那里,你会得到这个约定背后的更多原因。
评论
1赞
Shiplu Mokaddim
12/13/2012
那是现在完成时。仍然存在
2赞
CB Bailey
12/13/2012
尽管这个特定的提交消息违反了约定的第二部分,即摘要应该处于命令式的语气中。例如,“修复错误 #1234”。
1赞
Daniel Hilgarth
12/13/2012
没错,它的存在非常简单。这是比现在时另一种时态。
6赞
William Pursell
12/14/2012
@Daniel 虽然“修复错误 #1234”确实传达了您所做的工作,但“修复错误 #1234”传达了补丁的作用。使用现在时背后的观点是,消息的目的是传达补丁的作用,而不是开发人员所做的事情。
5赞
Daniel Hilgarth
12/14/2012
@WilliamPursell:如果它能传达补丁的作用,它不应该读作“修复es bug #1234”吗?“修复错误 #1234”是一个命令,它告诉存储库该做什么,正如其他人在他们的回答中已经解释的那样。IMO 这是违反直觉的。
17赞
CB Bailey
12/13/2012
#2
这只是一个(相对)通用的约定,以便一致地读取项目中的提交消息。向 Git 提交补丁的建议(例如)来自 Documentation/SubmittingPatches
。
- 描述命令式情绪的变化,例如“make xyzzy do frotz” 而不是“[此补丁] 使 xyzzy do frotz”或“[I] 已更改 xyzzy to do frotz“,就好像你在向代码库下达命令一样 来改变其行为。
从括号内的主语可以看出,此约定消除了对 commit 动词的重复(或隐含)主语的需要,这些主语不会提供任何有用的好处。
评论