2011-03-29 103 views
3

我得到下面当我尝试从我的服务器发送一个目录与github上的私人回购的git的权限..赶上22与私人回购

$:/home/my_site/$ git push origin master 

    Enter passphrase for key '/home/adamgamb/.ssh/id_rsa': 
    error: unable to create directory for .git/refs/remotes/origin/master 
    error: Cannot lock the ref 'refs/remotes/origin/master'. 
    Everything up-to-date 

目前,如果我尝试使用git与出sudo我得到这个错误,因为文件无法访问,但是,如果我使用sudo git publickey被拒绝(它在用户的〜/ .ssh中执行此操作)

任何人都可以解释如何避免这个问题?

$: sudo git push origin master 
    Permission denied (publickey). 
    fatal: The remote end hung up unexpectedly 
+0

请不要使用* sudo *作为对权限问题的第一个响应。如果您希望能够以普通用户身份运行命令,那么请自行查找并修复权限问题。在最好的情况下,以root身份运行将暂时掩盖问题;通常它会产生更多的权限问题(以root运行时创建的文件不会(通常)由普通用户写入)。 – 2011-03-30 03:48:49

回答

7

,它的抱怨不能够建立实际上是在你的家目录的目录 - 即,〜/ git的/参/遥控器/产地/主。可能发生的是你在sudo下运行git,以root身份创建这些文件,现在你无法访问它们。作为根,你可以播放-Radamgamb〜adamgamb/.git,然后再试一次。

+0

啊!感谢您的回答,只是意识到我自己:/ – null 2011-03-29 21:40:44

+0

@亚当:请“接受”:) – 2011-03-29 22:05:31

+0

我接受... ;-) – null 2011-03-30 07:33:09