如何让多个用户可以访问 git 服务器?

如何让多个用户可以访问 git 服务器?

我已经设置了一个 git 服务器,但是用户推送他们的提交时遇到了一些问题。我总共有 3 个用户,但如果其中任何一个用户推送某些文件,这些文件对于其他用户来说将变为只读,并且如果他们尝试推送,解包器就会失败。

我可以通过递归设置所有权限来临时解决这个问题,777但这是一个糟糕的方法,只能在下一次推送之前修复它。

我怎样才能使所有选定的用户都可以推送和拉取,而不必每次都更改权限?

答案1

创建您的存储库git init --shared,这将:

指定 Git 存储库在多个用户之间共享。这允许属于同一组的用户推送到该存储库。指定后,将设置配置变量“core.sharedRepository”,以便$GIT_DIR使用请求的权限创建其下的文件和目录。

将所有应具有写入权限的用户放入同一组中,Git(包括各种 SSH 和智能服务器元素)将创建文件 group-writable 和g+sx.您可能想要创建一个特殊的组来用于该组及其chgrp -R存储库。

这还将启用receive.denyNonFastForwards存储库上的设置,您可以根据需要手动禁用该设置。

相关内容