git - 标记提交消息和变更集

标签 git version-control changelog commit-message

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

对我来说,“标签”是这样的:

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

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

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

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

背景:

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

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

最佳答案

我喜欢使用以下标签:

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 设置”。

通过为数据库添加一个 DB 标签,您可以轻松跟踪与数据库相关的更改。

关于git - 标记提交消息和变更集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8741290/

相关文章:

teamcity - 如何从 Git 获取完整的变更日志作为 TeamCity 中的工件

git - git 如何处理多个项目/依赖项?

git - 为什么尝试在 github 上更新远程 master 时会出现延迟?

git - 将 big bzr 存储库转换为 git,会发生什么?

php - 如何制作变更日志?

svn - 修改SVN变更日志

git - Jenkins 无法连接到存储库

git - 将 git 用于图像

svn - 在 Subversion 中,如何取消劫持文件?

version-control - 维护一个项目的多个版本有哪些最佳实践?