【发布时间】:2012-06-22 17:42:22
【问题描述】:
我在 ubuntu 服务器上设置了 git,我将本地 repo 推送到服务器并收到以下错误。当我更改两个文件夹的权限时,它可以工作。我只是想了解为什么当我设置git init --bare 时,它不仅仅适用于它创建的权限。 777 也是这些文件夹的最佳权限吗?有没有更合法的方法来解决这个问题?
第一个错误:
error: insufficient permission for adding an object to repository database ./objects
第一种解决方案:
sudo chmod 777 objects/
第二个错误:
fatal: Unable to create '/srv/git/example.com.git/refs/heads/master.lock': Permission denied
第二种解决方案:
sudo chmod 777 refs/heads/
【问题讨论】:
-
考虑使用 gitolite。这样就省去了麻烦
-
您是否以其他用户身份启动了 repo?
git init将进行设置,以便初始化 repo 的用户可以访问它们。至于另一个用户,他们通常只是克隆 repo,这将初始化他们自己的副本(从而使其可供他们使用)。