如何在没有提到Github上的提交消息问题的情况下避免开发人员提交

时间:2012-12-04 13:54:21

标签: git github jenkins continuous-integration

在我正在研究的公司,我们已经定义了一个适合我们需求的小型开发流程。在提交之前,我们应该提交有关提交注释的问题。这将触发我们的CI上的一些内部挂钩,并将在我们的测试环境中提供该问题以进行测试。

我们的项目目前托管在GitHub上,我们也有一个配置良好的Jenkins CI服务器。疑问是:“我们如何强制我们的开发人员在提交之前提及问题?”。我想知道Git Hooks是否可以帮助我们,但似乎钩子在开发者机器上是本地的。

有没有人知道可以帮助我们的事情?

3 个答案:

答案 0 :(得分:1)

我认为你的方法需要调整。当您经常提交时,Git被设计为最佳。例如,我经常对多个文件进行微小的更改作为单独的提交。以后的更改可以被压扁或挑选,重新定位或重新排列。但是,强制每个提交都是关于某个问题的,只会导致-fewer-commit,这对你的开发人员来说并不好。

此外,代码需要备份,如果您推送到远程服务器,这是一种简单的方法,可以将您的代码放在两个地方,并且还可以"共享"在开发期间与他人合作只要它是一个单独的分支,这就是解决代码问题的好方法。

据我所知,你的问题是粒度和github存储库的概念是" main"库。如果你只想-deploy-用于一般测试一个处理特定问题的提交块,那么就有一个git repo将-every- commit的中央github repo的副本拉到master,但只触发集成/当提交注释中提到的问题时,部署到测试过程。通过这种方式,开发人员可以根据需要推送中间提交,可以根据需要推送开发分支,而不必具有任何特殊意义,只有问题修复提交块才会导致部署/集成。

答案 1 :(得分:0)

我们的团队最近遇到了同样的无价值提交消息问题,没有参考票号。

我们如何处理这个问题是双重的。

  1. 沟通,表达这不是正确的方法而且无效。
  2. 使用GitHub pull请求我们拒绝将代码合并到不符合我们的规范的主线中,现在包含提交消息格式,开发人员会修改其分支以修改提交消息以遵循标准。
  3. 我们考虑强制开发人员安装使用正则表达式来解析消息的本地钩子,但决定不采用这种方法,因为有时开发人员想要快速提交(而不是存储),他们可以在以后重新定义,而不必在本地遵循格式。

答案 2 :(得分:0)

如果您试图强制提交消息具有特定格式(即始终以特定格式出现问题),那么预接收挂钩可能是您唯一的方式。