Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git提交问题:无法附加到.Git/_Git_Permissions_Github - Fatal编程技术网

Git提交问题:无法附加到.Git/

Git提交问题:无法附加到.Git/,git,permissions,github,Git,Permissions,Github,使用git时,我无法提交项目中的更改 这是我的终端: tomas@tomas-laptop:~/menu_operations$ git commit -m "initial commit" error: Unable to append to .git/logs/refs/heads/7.x-1.x: Permission denied fatal: cannot update HEAD ref 菜单操作是我的项目名称 我不知道我应该允许什么样的许可。 有人能帮忙吗?检查.git/logs/

使用git时,我无法提交项目中的更改

这是我的终端:

tomas@tomas-laptop:~/menu_operations$ git commit -m "initial commit"
error: Unable to append to .git/logs/refs/heads/7.x-1.x: Permission denied
fatal: cannot update HEAD ref
菜单操作
是我的项目名称

我不知道我应该允许什么样的许可。
有人能帮忙吗?

检查.git/logs/refs/heads/上的用户和权限,也许您作为root用户运行了一些东西


检查.git/logs/refs/heads/上的用户和权限,也许您作为root用户运行了一些东西

说明:当您以root(sudo?)身份运行某些git命令时,创建的任何新文件/目录都将归root所有,默认情况下[1]其他用户对这些文件/目录没有写入权限

稍后,当您使用该存储库时,在您需要写入一个实际上由root创建的文件(即由root所有)之前,事情可能看起来是正常的

至少在linux上,这应该可以解决这个问题:

 sudo chown -Rc $UID .git/
它还将向您显示它为其更改所有者的任何文件


[1] 在一个正常的设置中,至少

只想为那些使用Capistrano部署的用户添加您应该在这里使用的.git/目录

/var/www/rails/production/shared/git_cache/.git

这假设您正在使用这些给定的目录,并且正在推进生产。。。但它应该让您朝着正确的方向前进。

chown-R$(whoami)/usr/local.git应该这样做。

Linux命令:

  • sudo chown-Rc$UID.git/
  • id-u{yourusername}
结果是: 将“.git/packed refs”的所有权从根目录更改为1000

将“.git/logs/HEAD”的所有权从根目录更改为1000

将“.git/logs/refs/heads/master”的所有权从根目录更改为1000

将“.git/logs/refs/remotes/origin/HEAD”的所有权从根目录更改为1000

将“.git/logs/refs/remotes/origin/master”的所有权从根目录更改为1000

将“.git/objects/pack/pack-b905d78889ea64ca69a61c0efaa76ba95b0886.idx”的所有权从根目录更改为1000

将“.git/objects/pack/pack-b905d78889ea64ca69a61c0efaa76ba95b0886.pack”的所有权从根目录更改为1000

将“.git/objects/info/packs”的所有权从根目录更改为1000

将“.git/info/refs”的所有权从根目录更改为1000


sudo chown-R youremailid.git/

谢谢你们两位。你是对的。sudo chown命令确实起到了帮助作用,现在一切正常。Tomas Teicher适用于Mac用户:
sudo chown-R$UID.git/
@manakor,但它当然不会“向您显示它更改所有者的任何文件”。您可能可以通过
find获得这一点-not-uid$uid-ls-exec chown$uid{}+
。谢谢它对我有用,但我必须用
id-u*您的用户名*返回的值更改
$uid
/var/www/rails/production/current/.git