如果用命令写的git commit消息,我该如何澄清尚未完成的内容? '不要添加散列'或'没有/不添加散列'?

问题描述 投票:2回答:4

我仍然不完全清楚git提交消息应该写的方式。

我知道基本规则,但这个让我困惑。在我的练习项目中,我创建了一个登录系统和一个用户注册,但尚未在数据库中实现安全密码存储。他们仍然以纯文本形式存储索尼风格。我想在提交消息中记下这一点,但我发现自己陷入了一个奇怪的困境,即如何在命令式中表达这一点。

有什么想法吗?

我个人认为,这应该包含在提交消息中,即使它是对提交中未包含的内容的声明,因为它代表了任何希望使用可能不明显的代码的人的重要信息。瞥一眼这些变化。

git git-commit commit-message
4个回答
5
投票

关于提交消息的一篇好文章是How to Write a Git Commit Message

它的规则n°5确实推荐using imperative mood

命令听起来有点粗鲁;这就是为什么我们不经常使用它。但它非常适合git commit主题行。 这样做的一个原因是git本身在代表您创建提交时使用命令。

在您的主题的情况下,一个简单的“不添加xxx”足以完成您的提交的第一部分(“正面声明”,在命令中)。


3
投票

我假设您正在尝试决定是否

 Don't add hashing      #1

要么

 Didn't add hashing     #2a
 Doesn't add hashing    #2b

势在必行。这真是一个英语语法问题。但要回答这个问题,我们首先需要将收缩恢复到完整形式:

 Do not add hashing        #1
 (It) did not add hashing  #2a
 (It) does not add hashing #2b

第一个是指令或命令......告诉人们不要添加散列。这是必要的。

第二个是关于提交的简单事实陈述。他们说提交没有或没有添加散列。这不是任何人的方向或命令,因此不是必须的。 (“不”或“没有”是正确的。这取决于你是否在写作者或阅读者的时间范围内解释信息。)

通过该分析,#1和#2表单在提交消息中显然意味着非常不同的东西。更重要的是,您的提交消息应该说明您的真实含义,而不是它们应符合某些风格规则或约定。


但是......

我仍然不完全清楚git提交消息应该写的方式。

该主题没有单一的权威机构。我的建议是不要为此流泪。做对你感觉合适的事。如果有人抱怨,请他们详细解释你做错了什么,并尝试学习。 (请记住,有些人永远不会满意。)


0
投票

提交消息不应包含当前变更集中尚未实现的事项的注释。相反,它应该;

  • 简要总结一下自己的变化(例如创建登录系统),或;
  • 描述首先提示更改的任务(例如,允许用户登录)

0
投票

提交消息告诉我们通过给定提交将什么添加到源代码中。提交消息表示将在代码上应用的更改集。

许多专家给出的指南for example this article which提到了一个摘要行,然后是一个空白行,然后是对提交消息的描述。

要遵循的命令式情绪规则仅适用于提交消息的第一个摘要行。提交消息的摘要行只应提及如果将此提交应用于代码将进行的更改。将其写为命令性句子是合乎逻辑的。

要提及的其他内容可以始终是提交消息描述的一部分,您可以在其中写一两段,其中包括未实现的内容。编写Git commit是为了记录git commit将添加的更改。其他架构决策和信息更适合其他文档,如架构决策注册,产品路线图,产品开发维基。如果提交消息中仍然需要其他信息,则应将其添加到消息的描述中。

© www.soinside.com 2019 - 2024. All rights reserved.