目前我们正在使用SVN。我想开始使用 GitHub,但一个绝对的要求是我们需要像我们目前拥有的那样对代码进行预提交(premerge)验证。GitHub 是否支持 precommithooks(premergehooks)?
我们是一个由 5 名开发人员组成的团队。我们达成协议,所有代码(JavaScript)都应该通过类似 JSLint 的验证。自愿验证已被证明是行不通的,因为它很容易被遗忘。我们如何确保其他人可以使用的代码可以保证通过 JSLint(或类似的)进行验证?
目前我们正在使用SVN。我想开始使用 GitHub,但一个绝对的要求是我们需要像我们目前拥有的那样对代码进行预提交(premerge)验证。GitHub 是否支持 precommithooks(premergehooks)?
我们是一个由 5 名开发人员组成的团队。我们达成协议,所有代码(JavaScript)都应该通过类似 JSLint 的验证。自愿验证已被证明是行不通的,因为它很容易被遗忘。我们如何确保其他人可以使用的代码可以保证通过 JSLint(或类似的)进行验证?
我一直在寻找的概念是prereceive hook
我认为这篇文章描述了一个非常好的工作流程,可以作为自动化的基础:
http://scottchacon.com/2011/08/31/github-flow.html
主要思想是您使用上面提到的拉取请求,但您也可以拥有一个服务,该服务可以使用 github api 获取或拉取发出请求、合并、测试、验证然后推送到目标分支的分支。
我认为您缺少有关 git 的一些基本知识。它不是一个集中式模型(好吧,它可以,但如果你打算以这种方式使用它,那么 github 可能是错误的方法)。如果您使用的是 github,那么正确的做法是:
自然有很多方法可以给猫剥皮。但是当你谈论“真正的 git”(开源社区使用的那种)时,集中的“check-it-in-and-it-damned-well-better-work”模型有点困难,尤其是当涉及到更大的项目时。
我不相信 github 支持 pre-commit 钩子。但是,git 核心可以。您可以在本地设置预提交挂钩,或者在将分支合并到主 github 之前将它们作为测试应用。
不,GitHub 不支持预提交挂钩。那怎么行?提交发生在您的计算机上,您真的要允许 GitHub 在您的计算机上运行任意代码吗?