10

假设您正在与一个 20 人的开发团队一起工作或为其提供支持,并且希望使用 git pre-commit 钩子来对正在提交或推送的代码进行一些验证。例如,您想确保人们不会签入大型资产或 SWF 文件的调试版本,您还想检查代码是否有足够的测试覆盖率等。

1.) 应该有一个可以管理这些钩子的中心位置

2.) 它们应该在所有用户/机器上自动更新

4

2 回答 2

3

将一些 git setup 和 bootstrap config 放入构建本身时,我一直很幸运。

以这种方式,您可以.git/hooks通过在构建中添加.git/hooks与已提交的conf/git-hooks.

如果您的开发人员仅使用他们的 IDE 来构建/运行/测试代码,那么这可能会非常糟糕,并且开发人员可以禁用或跳过任何本地运行的挂钩。

您可以将一些钩子(大型断言、调试 SWF 检查)放在中央存储库上,请参阅 post-receive 和更新钩子

如果你需要更多的灵活性,像 Gitolite 的virtual refs功能可以让你只允许特定的开发人员炫耀规则。

于 2012-11-02T05:57:51.693 回答
-1

我建议您不要限制开发人员的提交方式。给他根据自己的优先任务的自由。话虽如此,保持编码风格的结构也很重要。

我建议您使用诸如Team City之类的构建运行器来处理此类任务。在开发分支上设置一些关于 teamcity 的钩子,这将验证代码质量并向您发送非常详细的报告。

此外,有时您必须向客户提供修补程序,而此时您并不真正关心代码质量。当你的系统充满了这些讨厌的钩子时,这些情况就成为一个真正需要处理的大问题。

于 2013-06-30T10:36:57.497 回答