Git权限问题

时间:2014-03-15 00:56:26

标签: git permissions root vps

我第一次尝试在我的VPS上设置git。我也在使用Virtualmin。当我使用root来推送时,一切都已安装并运行良好,但我显然不希望这样做。问题是,如果我尝试将我的'git'用户设置为推送到我的public_html目录,我会收到以下错误:

remote: fatal: Could not switch to '/path/to/': Permission denied
error: unpack failed: unpack-objects abnormal exit

我假设这是因为我的git用户无权访问public_html文件夹所在的文件夹。有什么东西我可以添加到我的post-receive挂钩调用sudo或其他东西,以便我没有这个问题。 (对不起,我知道这可能是一个非常简单的问题,但这是我第一次自己设置,我无法通过搜索找到一个好的答案。)

1 个答案:

答案 0 :(得分:2)

您只需更改所有权即可。这是首选:

$ sudo chown -R git-user:git-group /path/to

或者,将自己添加到当前拥有它的组中:

$ sudo usermod -a -G owner-group user

如果这不起作用,只需稍微放松一下权限:

$ sudo find /path/to/ -type f -exec chmod 664 {} + && sudo find /path/to/ -type d -exec chmod 775 {} +

仅供参考:数字代表所有者组别 - 因此 - 664表示所有者和组可以读+写,而其他只能读。

当您有一个组处理文件系统时,此类权限非常有用。

如果你是唯一一个人,那么第一个命令应该可以正常使用 -