我曾经能够从我的App文件夹中执行此操作:
git add .
git commit -m "commit details"
git push
我的本地计算机上的最新版本的应用程序将在我的主仓库中备份,位于github上。
现在,当我得到git add .
命令时,我得到:
mycompaq@ubuntu:~/myapp$ git add .
error: insufficient permission for adding an object to repository database .git/objects
error: app/views/reviews/update.js.erb: failed to insert into database
error: unable to index file app/views/reviews/update.js.erb
fatal: updating files failed
mycompaq@ubuntu:~/myapp$
我在Stackoverflow上的一条消息中读到了解决类似问题的方法:
chown -R user:user /project/directory
但是,当我通过运行命令首先看到我遇到麻烦时,我不确定,我想知道这是否是我的命令。它有什么作用?可以撤消吗?
确切的语法应该是什么,如果用户是' Christophe'以及存储我的Rails应用程序的文件夹被称为' myapp'。我的意思是它应该是
chown -R user:christophe /myapp/app/views/reviews/update.js.erb
对不起所有问题。
答案 0 :(得分:17)
chown [ -f ] [ -h ] [ -R ] Owner [ :Group ] { File ... | Directory ... }
来自man page
chown命令更改File指定的文件的所有者 owner参数指定的用户参数。价值 Owner参数可以是用户ID或在中找到的登录名 / etc / passwd文件。可选地,还可以指定组。价值 Group参数的值可以是组ID或在其中找到的组名 / etc / group文件。
关于-R选项
-R
以递归方式下降目录,更改每个目录的所有权 文件。遇到符号链接且链接指向a时 目录,该目录的所有权已更改但目录 没有进一步横穿。
所以
chown -R user:christophe /myapp/app/views/reviews/update.js.erb
会将update.js.erb
文件的所有者更改为群组user
中的用户christophe
,这可能不是您想要的。
在您的情况下,将回购的所有者更改为您自己,即
sudo chown -R christophe /path/to/your/local/repo
应该足够了。
如果您不知道您的用户名,可以使用whoami
命令找到它。
答案 1 :(得分:13)
1)确保您在存储库中遇到错误。
2)输入
获取用户名`whoami`
3)输入此命令
sudo chown -R dwain .git/*
答案 2 :(得分:0)
我只是使用sudo命令允许了我的文件夹及其文件
sudo -r 777 directory/
答案 3 :(得分:0)
您可以访问.git /文件夹中的所有文件。只需运行以下命令:
sudo chmod a+xrw .git/*