在我工作的公司,我们已经定义了一个小的开发流程来满足我们的需求。在提交之前,我们应该在提交评论中提到问题。这将在我们的 CI 上触发一些内部挂钩,并使该问题在我们的 beta 环境中可用以进行测试。
我们的项目目前托管在 GitHub 上,我们也有一个配置良好的 Jenkins CI 服务器。疑问是:“我们如何才能强迫我们的开发人员在提交之前提及一个问题?” . 我想知道 Git Hooks 是否可以帮助我们,但似乎钩子在开发人员机器上是本地的。
有谁知道可以帮助我们解决这个问题?
在我工作的公司,我们已经定义了一个小的开发流程来满足我们的需求。在提交之前,我们应该在提交评论中提到问题。这将在我们的 CI 上触发一些内部挂钩,并使该问题在我们的 beta 环境中可用以进行测试。
我们的项目目前托管在 GitHub 上,我们也有一个配置良好的 Jenkins CI 服务器。疑问是:“我们如何才能强迫我们的开发人员在提交之前提及一个问题?” . 我想知道 Git Hooks 是否可以帮助我们,但似乎钩子在开发人员机器上是本地的。
有谁知道可以帮助我们解决这个问题?
我认为你的方法需要调整。当你经常提交时,Git 被设计成最好的。例如,我经常将多个文件的微小更改作为单独的提交提交。以后的更改可以被压缩或挑选、重新设置或重新排列。但是强迫每个提交都与一个问题有关只会导致更少的提交,这对您的开发人员不利。
此外,代码需要备份,如果您推送到远程服务器,这是一种将代码放在两个地方的简单方法,并且还可以在开发过程中与他人“共享”。只要它是一个单独的分支,这就是解决代码问题的好方法。
据我所知,您的问题在于粒度和 github 存储库作为“主”存储库的概念。如果您只想 -deploy- 用于一般测试处理特定问题的提交块,那么有一个 git 存储库,它会在 -every- 提交时将中央 github 存储库的副本拉到 master,但只会触发集成/当提交评论中提到问题时,部署到测试过程。这样,开发人员可以根据需要推送中间提交,可以根据需要推送开发分支,而不必意味着任何特殊,并且只有修复问题的提交块才会导致部署/集成。
我们的团队最近遇到了同样的问题,即没有参考票号的毫无价值的提交消息。
我们如何处理这件事是双重的。
我们考虑强制开发人员安装使用正则表达式来解析消息的本地钩子,但决定不采用这种方法,因为有时开发人员希望快速提交(而不是存储),他们可以稍后重新设置,而不必在本地遵循格式。
如果您试图强制提交消息具有特定格式(即始终以特定格式出现问题),那么预接收挂钩可能是您唯一的方法。