2011-12-18 81 views
2

在我们的办公室,与团队一起工作的最大问题之一是强制他们使用标准的文档和格式化代码。配置git只接受格式良好的文档化推送

我想知道,有没有办法配置git(github或私有git服务器)只允许具有特定文档和代码结构格式的提交? EG:所有php函数都必须用phpdoc记录,所有的开头括号必须在函数定义的同一行,等等。

总而言之,git服务器可以配置为在接受推送之前解析某些文件强制用户根据标准格式化所有代码?

+1

这将是一个预先提交的钩子 - 但在那个复杂的。 – fge 2011-12-18 14:13:47

+0

再加上一个名字!我甚至不知道要搜索什么。我将搜索关于这些预提交钩子的更多信息。谢谢! – 2011-12-18 14:23:24

+3

很棒,你找到你需要的东西。如果你添加这个作为你的问题的答案,并接受它,那会更好。 – CharlesB 2011-12-18 16:10:36

回答

1

我觉得这是一个很好的办法就是我一直在寻找:

https://github.com/s0enke/git-hooks/tree/master/phpcs-pre-commit

它是基于执行PHP_CodeSniffer作为pre-commit钩子。仅当PHP_CodeSniffer测试成功时,git客户端才会允许提交。

+1

这似乎是一个很好的方法。不过,有一件事情需要记住,即在预执行挂钩执行时客户端将挂起。如果测试需要很长时间才能运行,您可能会在等待代码提交时激怒用户。当然,如果他们偶尔会推送到您的存储库中,这可能不会太痛苦。 – Eric 2011-12-18 22:49:01