尝试从一个干净的分支机构转移到生产分支机构我没有做出任何改变,但这有点落后。
被告知我有未提交的更改并提交或存储它们,但是git status
显示对此分支上的任何文件都没有进行任何更改。
所以只是为了它的地狱,决定隐藏变化。当我尝试时,我收到错误:
fatal: Unable to create '/var/www/MyProject/.git/index.lock': Permission denied
Cannot save the current index state
所以我尝试了这个技巧:
sudo rm -f /var/www/MyProject/.git/index.lock
但这并没有帮助。所以我再次尝试使用git reset
跟随该命令,但重置会抛出相同的权限被拒绝错误。
然后我尝试了sudo git reset
,但是当我测试git rebase production
时,我收到了这个错误:
First, rewinding head to replay your work on top of it...
fatal: Unable to create '/var/www/MyProject/.git/index.lock': Permission denied
could not detach HEAD
如何修复这些权限问题?
这是一个运行Ubuntu 14.04的流浪盒。
答案 0 :(得分:0)
您正在使用不同的用户来创建和管理您的存储库。您的回购邮件是由www-data创建的,您以流浪者身份登录。
您的选择是:
su www-data
)身份登录。chown -R vagrant *
)chgrp -R vagrant *
)config.vm.synced_folder
配置涵盖了这一点:请参阅Vagrant Docs。无论你做什么,确保任何需要使用git的东西都能保留所需的任何访问权限。由于www-data创建了repo,因此您可能使用某种Web服务/应用程序来执行此操作;因此,如果您将repo的所有者更改为vagrant,您可能需要更改Web服务/应用程序,以便它也可以由vagrant运行。