我曾经能够从我的App文件夹中做到:
git add .
git commit -m "commit details"
git push
Run Code Online (Sandbox Code Playgroud)
我的本地机器上的最新版本的应用程序将在我的主仓库中备份,在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$
Run Code Online (Sandbox Code Playgroud)
我在Stackoverflow上的一条消息中读到了克服类似问题的方法:
chown -R user:user /project/directory
Run Code Online (Sandbox Code Playgroud)
但是看到我在运行命令时遇到了一大堆麻烦,我不确定,我想知道这是否是我的命令.它有什么作用?可以撤消吗?
如果用户是"Christophe",并且存储我的Rails应用程序的文件夹称为"myapp",那么确切的语法应该是什么?我的意思是它应该是
chown -R user:christophe /myapp/app/views/reviews/update.js.erb
Run Code Online (Sandbox Code Playgroud)
抱歉有这些问题.
Gab*_*lla 19
chown [ -f ] [ -h ] [ -R ] Owner [ :Group ] { File ... | Directory ... }
Run Code Online (Sandbox Code Playgroud)
从手册页
chown命令将File参数指定的文件的所有者更改为Owner参数指定的用户.Owner参数的值可以是/ etc/passwd文件中的用户ID或登录名.可选地,还可以指定组.Group参数的值可以是/ etc/group文件中的组ID或组名.
关于-R选项
-R
递归下降目录,更改每个文件的所有权.遇到符号链接且链接指向目录时,将更改该目录的所有权,但不会进一步遍历该目录.
所以
chown -R user:christophe /myapp/app/views/reviews/update.js.erb
Run Code Online (Sandbox Code Playgroud)
会将update.js.erb文件的所有者更改为user组中的用户christophe,这可能不是您想要的.
在您的情况下,将回购的所有者更改为您自己,即
sudo chown -R christophe /path/to/your/local/repo
Run Code Online (Sandbox Code Playgroud)
应该足够了.
如果您不知道您的用户名,可以使用该whoami命令找到它.
小智 17
1)确保您在存储库中遇到错误.
2)输入您的用户名
`whoami`
Run Code Online (Sandbox Code Playgroud)
3)输入此命令
sudo chown -R dwain .git/*