5

在我工作的公司,我们已经定义了一个小的开发流程来满足我们的需求。在提交之前,我们应该在提交评论中提到问题。这将在我们的 CI 上触发一些内部挂钩,并使该问题在我们的 beta 环境中可用以进行测试。

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

有谁知道可以帮助我们解决这个问题?

4

3 回答 3

1

我认为你的方法需要调整。当你经常提交时,Git 被设计成最好的。例如,我经常将多个文件的微小更改作为单独的提交提交。以后的更改可以被压缩或挑选、重新设置或重新排列。但是强迫每个提交都与一个问题有关只会导致更少的提交,这对您的开发人员不利。

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

据我所知,您的问题在于粒度和 github 存储库作为“主”存储库的概念。如果您只想 -deploy- 用于一般测试处理特定问题的提交块,那么有一个 git 存储库,它会在 -every- 提交时将中央 github 存储库的副本拉到 master,但只会触发集成/当提交评论中提到问题时,部署到测试过程。这样,开发人员可以根据需要推送中间提交,可以根据需要推送开发分支,而不必意味着任何特殊,并且只有修复问题的提交块才会导致部署/集成。

于 2012-12-04T15:54:57.027 回答
0

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

我们如何处理这件事是双重的。

  1. 沟通,表达这不是正确的方法,也是无效的。
  2. 使用 GitHub 拉取请求,我们拒绝将不符合我们规范的代码合并到主线中,现在包括提交消息格式,开发人员将重新设置其分支以修改提交消息以遵循标准。

我们考虑强制开发人员安装使用正则表达式来解析消息的本地钩子,但决定不采用这种方法,因为有时开发人员希望快速提交(而不是存储),他们可以稍后重新设置,而不必在本地遵循格式。

于 2012-12-04T16:13:37.247 回答
0

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

于 2014-03-18T21:29:48.110 回答