我正在尝试为现有的git项目添加一个额外的遥控器,所以我可以使用 git remote add user2 git@bitbucket.org:... 将代码推送到辅助bitbucket存储库,但是我收到以下错误:
错误:无法锁定配置文件.git / config:权限被拒绝
这是一个旧项目,所以我不确定它最初是如何设置的,但它看起来好像是以root身份安装的。
我尝试检查.git和.git / config的文件权限,我发现它属于www-data。我当前的用户是www-data组的一部分,但我仍然得到相同的错误。
我还检查了.git / config.lock文件,以防它被阻止但没有。
我不喜欢在.git上使用sudo,所以我想知道是否有人可以就如何处理这个问题给我一些最佳实践建议
答案 0 :(得分:1)
让团队拥有一切是可行的方法,但你必须这样做
确保所有内容都具有组写权限,并且每个文件都递归www-data
组:
sudo chown -R :www-data /path/to/git/repo
sudo chmod -R g+w /path/to/git/repo
然后运行你的git命令。
答案 1 :(得分:0)
如果您的权限设置正确,则不必将sudo
与git
一起使用。
这听起来像是一个基本的权限问题。您发现自己属于该群组,但如果您要通过群组权限进行访问,则还需要该文件具有群组rw
权限,例如: chmod g+rw .git/config
。您或者您需要成为相关文件的所有者,同时使用rw
。
由于您提到www-data
作为群组,因此我想知道您是否在服务器上。如果您使用的是CentOS等服务器操作系统,则可能会运行SELinux,在这种情况下,您需要处理另一层权限。使用ls -alZ
查看SELinux烫发(如果有)。