如何在GitHub中的存储库上设置receive.denyNonFastForwards

Sam*_*der 8 git github

我有一个托管在GitHub上的存储库,它有几个分支.

我如何设置主存储库的配置来设置receive.denyNonFastForwards标志,以便主存储库只能接受快进的推送,并拒绝任何非快速前进,即使它们是--forced

Jac*_*wig 9

GitHub不公开此功能,但有两个选项:

  • GitHub支持可以在存储库上设置它.

  • 您可以通过将GitHub存储库设置为您可以更好地控制的另一个存储库的镜像来模拟此操作.只允许将GitHub帐户的写访问权限授予最小的负责人员以及用于执行镜像的帐户.非GitHub存储库将是您要设置的位置receive.denyNonFastForwards,并让每个人都推送.然后可以通过post-receivehook,cron作业或两者的组合来完成镜像.同时使用两者的原因是在两个存储库之间获得最小的时间延迟,并且仍然确保一切都是最新的,即使post-receive钩子未能更新GitHub(例如,如果GitHub已关闭).