Git-防止合并提交到主存储库

Git-防止合并提交到主存储库,git,svn,Git,Svn,我们正在从SVN过渡到Git。作为这个过程的一部分,我们希望设置一个Git镜像,让每个人都使用这个镜像,然后向当前的SVN主机提交一个脚本。问题是: 有人意外地在本地进行了合并而不是重新设置基础 他们推送到主git存储库。虽然Fst Foward Only处于启用状态,但这并不阻止合并 脚本尝试推送到SVN,但不允许,因为SVN不理解合并的提交 在我们的主Git pre-commit钩子中,我们如何检查推送的提交是否是合并并拒绝它?您可能需要从Git rev parse^@开始,它显示的所有

我们正在从SVN过渡到Git。作为这个过程的一部分,我们希望设置一个Git镜像,让每个人都使用这个镜像,然后向当前的SVN主机提交一个脚本。问题是:

  • 有人意外地在本地进行了合并而不是重新设置基础
  • 他们推送到主git存储库。虽然Fst Foward Only处于启用状态,但这并不阻止合并
  • 脚本尝试推送到SVN,但不允许,因为SVN不理解合并的提交

在我们的主Git pre-commit钩子中,我们如何检查推送的提交是否是合并并拒绝它?

您可能需要从
Git rev parse^@
开始,它显示
的所有父级。合并提交具有多个父级;非合并提交只有一个父级。您在中央回购中使用什么?例如,Gerrit允许您限制谁可以推动合并提交。它必须通过服务器端钩子来完成。找到Gerrit的来源,看看他们是怎么做的,这将是最简单的解决方案。你们怎么会做评论而不是回复,这样我就可以投票了??