Version control 提交消息的用途是什么?

Version control 提交消息的用途是什么?,version-control,commit-message,Version Control,Commit Message,我挣扎着问那个问题,但问题就在这里。 几年来,我一直在为使用不同系统(svn、hg、git)的多个项目使用源代码管理,我学会了如何通过遵循指导原则等来改进我的消息。 但就我记忆所及,事后我从未看过它们 所以。。。您如何从自己的提交消息中获益?当我需要返回,因为我打碎了一些东西,需要重新开始时,我通常只返回到最新的“节点”(在那里我开始或合并了一个分支)。我是否只为那些对正在发生的事情感到好奇的项目监控人员编写这些消息 问候“给我一份你在过去两周内所做事情的清单”-Boss我发现,提交消息是一种很

我挣扎着问那个问题,但问题就在这里。 几年来,我一直在为使用不同系统(svn、hg、git)的多个项目使用源代码管理,我学会了如何通过遵循指导原则等来改进我的消息。 但就我记忆所及,事后我从未看过它们

所以。。。您如何从自己的提交消息中获益?当我需要返回,因为我打碎了一些东西,需要重新开始时,我通常只返回到最新的“节点”(在那里我开始或合并了一个分支)。我是否只为那些对正在发生的事情感到好奇的项目监控人员编写这些消息


问候

“给我一份你在过去两周内所做事情的清单”-Boss

我发现,提交消息是一种很好的方法,可以防止自己不经常提交。如果我不能将更改放入短提交消息中,我可能应该更早提交更改。

您的消息更多地针对其他用户,而不是您自己。尽管我确保即使在个人回购协议上也会放置好的提交消息。当你在一个项目上偏离正轨,并在接下来的几个月里访问它,以掌握最近在一个项目上完成的工作时,它会提供帮助

你写它们是为了帮助你未来的自我和团队中的其他人。给你一些我发现它们有用的背景信息:

我曾经在一个项目中工作,在这个项目中,提交消息是非常宝贵的——我不止一次使用它们来追踪已经存在多年的代码。在那个项目中,我们的bug跟踪系统也与我们的VCS(ClearCase)集成在一起。因此,当您签入更改时,它会在提交注释中记录错误号。这非常有助于您准确地追溯更改的内容和原因

因此,总而言之,尽管提交消息在您刚刚开始时看起来毫无意义(特别是在您是唯一一个从事项目的人的情况下),但一旦您拥有了一个成功的产品,并且该产品在生产中得到了多个开发人员的支持,这些消息将变得非常宝贵

更新


提交消息的另一个有用特性是,它们要求您检查和总结刚才所做的更改。即使我记得我更改了什么,我也会在签入文件之前对文件进行快速区分。我将简要地重读一遍,以确保没有打字错误,我改变了所有我想做的事情,等等。这是一种简单的方法来检查代码中的小错误,否则这些小错误会进入代码中。无论如何,在完成这项工作后,我对所做的更改有了清晰的了解,因此在签入文件时,我用它来编写更改的简明摘要。这是一个简单的习惯,可以帮助您轻松提高代码质量。

在最好的情况下,提交绑定到功能/错误跟踪器中的工作项。这样,您就可以很容易地看到已经实现/修复了哪些功能/错误。这不仅有助于了解某个修订版是否包含功能或错误修复,而且有助于轻松创建发行说明。

如果没有说明,提交又有什么意义?这就像问“为什么书的侧面有书名?”或者“为什么书有索引和页码?”。在我看来,没有对每个更改进行描述的源代码管理日志不会很有用

您可能需要引用提交消息的原因包括

  • 出现了一个bug,您想知道上一次更改代码的那部分是什么时候
  • 您决定撤消某些更改,并需要决定恢复到哪个修订

对于这两种情况,如果没有良好的提交消息,每次提交都会让您查看差异,直到在代码中找到您想要的内容。

我最讨厌的就是更新和获取几十个更新的文件,而没有消息告诉我为什么必须更改这些文件。同意。我看到代码提交到一个公共库,却不知道它们为什么被创建——我喜欢这样;)我得和老板谈谈信任和程序员的工作方式。或离开;)这可能与信任无关。特别是在我想到的一个案例中,他只是想知道在发行说明文档中放什么。