我在ubuntu服务器上设置了git,我将本地存储库推送到服务器上,得到了下面的错误。当我更改这两个文件夹的权限时,它可以正常工作。我只想知道为什么当我设置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/发布于 2012-06-23 02:06:39
正在运行
$ git init --shared=0777 --bare应该做你想做的事。
来自http://git-scm.com/docs/git-init
或者,您可以在服务器上设置一个openssh服务器,并让用户通过ssh访问此存储库。
发布于 2012-06-23 14:58:54
如果您想要使用777权限,这是一个非常糟糕迹象。你做错了什么。
首先,也是最重要的,正如已经建议的那样,考虑使用gitolite。
如果一个或两个贡献者不太可能有超过一个或两个repos,gitolite可能看起来是一个开销,特别是如果你以前从未使用过它。(但我仍然推荐使用它。)
在我开始使用git之前,我使用this script来创建我的共享git repos。它的工作原理:
--shared选项进行初始化,以使其具有组写入https://stackoverflow.com/questions/11161442
复制相似问题