我们可以限制 git 用户通过 git 进行推送或合并吗

我们可以限制 git 用户通过 git 进行推送或合并吗

我记得当我使用 SVN 时,我可以定义用户并为他们分配不同的权限,而无需任何第三方应用程序。我想检查 Git 中是否有相同的功能?

如果没有类似的未来,您推荐什么第三方应用程序?我查看了 GitLab 功能,但我发现免费版本中“限制某些用户的推送和合并访问”不可用。

最初我安装了 Git,然后安装了 OpenSSH,但我不知道如何限制我的用户。如果您有任何最佳实践也可以与我分享,我将不胜感激。

答案1

Git 提交和合并是客户端操作。你可以限制某些提交/合并被推送到共享服务器,但不能限制它们被制成在用户自己的机器上。

要限制可以推送的内容,请使用钩子脚本– 特别是pre-receive钩子,它可以检查推送的提交并拒绝对服务器端分支的更新。

但是,必须首先编写这些钩子脚本,因为 Git 中没有内置的“用户帐户”跟踪;它依赖于已经对用户进行身份验证的系统(例如 SSH 服务器或 Web 服务器)。

通常最简单的选择是使用吉托莱特它已经编写了这些钩子,并提供了一个更简单的配置语言具有分支、标签、用户等的访问规则。

相关内容