Git 裸仓库的 Linux 用户组配置

Git 裸仓库的 Linux 用户组配置

我正在使用 Ubuntu 机器来托管我的裸 Git 存储库,以供开发人员使用。

目前,我正在为盒子上的每个开发人员创建一个用户帐户,因为它兼作文件存储和本地测试服务器。

当有人将内容推送到裸存储库时,其他开发人员无法处理对象文件夹中发生变化的文件。新文件由推送内容的开发人员的用户创建。

我已将所有开发人员放入开发组,但 umask 不允许该组进行编辑。

我从未设置过 Git 存储库,因此没有使用权限的经验。我确实希望每个开发人员在测试服务器上都有自己的用户帐户,并且我希望他们使用该帐户在服务器上执行操作。我不介意授予他们 sudo 权限。

为每个开发人员设置 umask 是可行的方法吗?

答案1

尽管 ”如何与一台机器上的多个用户共享一个 Git 存储库?“确实解决了你的问题(并涉及umask为用户设置),我更喜欢在我的 git 安装中添加一个授权层,例如吉托莱特(看其文档)。

  • 不可授予任何人 sudo 权限。
  • 所有 git repo 操作均由一个“ git”用户完成。
  • 您可以精确设置umask新创建的(和 gitolite 管理的)Git 存储库:“umaskGit/Gitolite 中的设置

答案2

创建一个公共组,例如gitusers,将所有开发人员添加到该组。

chown -R root:gitusers /path/to/repository.git
chmod 2775 /path/to/repository.git

您可能需要递归更改权限,例如:

find /path/to/repository.git -type d -exec chmod 2775 {} \;
find /path/to/repository.git -type f -exec chmod 0664 {} \;

现在,所有开发人员都应该具有对存储库的写权限。

相关内容