Git 用于版本控制的托管解决方案--使用预提交挂钩?

Git 用于版本控制的托管解决方案--使用预提交挂钩?,git,svn,mercurial,pre-commit,Git,Svn,Mercurial,Pre Commit,有人能为SVN、Git或Mercurial(首选)推荐一个托管解决方案,提供配置某些预提交挂钩的能力吗?例如,当提交JS时,我希望它传递JSLint。或者,如果提交了PHP,我希望它通过某些编码约定 建议?如果您决定使用Git,可以使用 提交钩子只是作为项目的一部分进行配置,而不是在GitHub上。毫无疑问。我建议您购买VPS并设置所需的环境。对于dvcs预提交钩子是Git的客户端,我认为您实际想要使用的是更新钩子,它在推送ref(例如分支)时运行,可以拒绝推送。Git、SVN和Mercuri

有人能为SVN、Git或Mercurial(首选)推荐一个托管解决方案,提供配置某些预提交挂钩的能力吗?例如,当提交JS时,我希望它传递JSLint。或者,如果提交了PHP,我希望它通过某些编码约定

建议?

如果您决定使用Git,可以使用


提交钩子只是作为项目的一部分进行配置,而不是在GitHub上。

毫无疑问。我建议您购买VPS并设置所需的环境。对于dvcs预提交钩子是Git的客户端,我认为您实际想要使用的是
更新
钩子,它在推送ref(例如分支)时运行,可以拒绝推送。Git、SVN和Mercurial都支持预提交钩子。你是说GitHub是一个允许配置预提交钩子的托管解决方案吗?@StackOverwownEWBIE:不是,shaheenery(和你问题评论中的manojlds)是说在Git或Mercurial这样的DVC中,提交发生在本地客户机存储库中,而不是中央托管存储库中,因此预提交钩子在本地运行,不在托管服务器上。托管与DVCSE的预提交钩子无关。如果您希望钩子的原因是为了强制访问控制(即防止一些开发人员在主分支上执行“push-f”),那么这一点都没有帮助。