标记提交消息和变更集

时间:2012-01-05 10:54:23

标签: git version-control changelog commit-message

我正在寻找解决方案,在提交消息中标记变更集。

对我来说,“标签”就像是:

  • 代码清理
  • 用户可见的更改
  • 修改数据库结构(ALTER TABLE)
  • 文档更改

到目前为止,我使用SVN,但想切换到git。如果有标准,很多工具如trac,redmine,......都可以使用它。

我希望这回答这样的问题:

  • 如果我更新系统,客户可以看到哪些更改,或者 它只是一个维护更新吗?
  • 两个版本之间的数据库架构是否已更改?

背景:

到目前为止,我使用unison在DEV,TEST和PROD系统之间进行同步。但是unison对版本管理一无所知(这是SVN的版本)。我想切换到git。我希望看到快速,有什么变化。

示例:我想看看TEST和PROD之间的变化。我不希望看到源代码更改,但提交消息。但有时最多有100个提交。在这里,我想要一个过滤器,以排除不重要的变化。

3 个答案:

答案 0 :(得分:8)

我喜欢使用以下标签:

ADD adding new feature
FIX a bug
DOC documentation only
REF refactoring that doesn't include any changes in features 
FMT formatting only (spacing...)
MAK repository related changes (e.g., changes in the ignore list)
TEST related to test code only.

此标记始终是提交消息中的第一个内容,然后是问题跟踪系统中的简要说明和/或问题ID(如果存在)。

我使用svn和git这些标签,到目前为止发现它们非常方便。

回答你的编辑: 这就是我喜欢那些提交标签的原因。如果提交改变了行为,它立即可见。如果您的数据库方案经常更改或者这些更改或对您非常重要,您可以为此引入一个标记。

我还想在适当的时候在一个提交消息中组合这些标记。例如,“测试foo的测试DOC设置”。

通过为数据库添加额外的数据库标记,您可以轻松跟踪与数据库相关的更改。

答案 1 :(得分:3)

大多数时候我使用的是来自Typo3的标签系统:http://wiki.typo3.org/CommitMessage_Format_(Git)

它在提交消息中使用标记,如下所示:[TAG] Short message 当然,我总是会在问题编号中弹出问题跟踪。我们正在使用JIRA,所以它会变成这样:[TAG] JIRA-123 Short message

Typo3标签:

  

可能的标签是:

     
      
  • [FEATURE]:一项新功能(也是少量添加)。它很可能是一个附加功能,但也可以删除。这只能在v4的“主”分支中发生,因为旧分支中不允许使用新功能。必须根据具体情况与相应的发布经理讨论此例外情况。
  •   
  • [BUGFIX]:修复错误。
  •   
  • [TASK]:以上类别未涵盖的任何内容,例如:编码风格清理。
  •   
  • [API]:API已更改,方法或类已添加或删除;方法签名或返回类型已更改。这仅指TYPO3的公共API。
  •   
     

此外,在某些情况下可能会添加其他标志:

     
      
  • [!!!]:突破变化。在此修补程序之后,某些工作方式与以前不同,用户/管理员/扩展程序开发人员将不得不更改某些内容应该只发生在“主人”上。
  •   
  • [WIP]:正在进行中。一旦更改的最终版本可用,该标志将被删除。标记为WIP的更改永远不会合并。
  •   
  • [SECURITY]:可视化更改修复了安全问题。此标记由安全团队使用,如果您发现安全问题,请始终首先与安全团队联系!
  •   
     

示例主题说明:

     
      
  • [BUGFIX]在tslib_fe
  • 中抛出HttpStatusExceptions   
  • [BUGFIX] [安全]预准备语句中的SQL注入漏洞
  •   
  • [FEATURE] [CONF]添加选项以隐藏列表模式中的BE搜索框
  •   
  • [!!!] [FEATURE]将高级前端编辑移至TER
  •   
  • [!!!] [TASK]删除t3lib_sqlengine
  •   
  • [!!!] [API]从t3lib_userAuth中删除弃用的方法redirect()
  •   
  • [API]为HTTP状态例外创建例外层次结构
  •   

答案 2 :(得分:1)

我更喜欢在问题跟踪器中为每个更改集分配一个问题。使用像jira这样的已知问题跟踪器,可以选择在更改集中解决的问题。选择问题后,问题描述将自动放入更改集的消息中。它们可以在将来进行跟进,也可以在您的问题跟踪器中进行报告。