用私人回购的git权限捕获22

nul*_*ull 3 git permissions ubuntu controls version

当我尝试从我的服务器发送一个目录到一个带有github的私人回购时,我得到以下内容..

$:/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
Run Code Online (Sandbox Code Playgroud)

目前,如果我尝试使用带有sudo的git,我会收到此错误,因为无法访问文件,但是,如果我使用sudo git publickey被拒绝(它位于用户的〜/ .ssh中,我执行此操作为)

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

$: sudo git push origin master
  Permission denied (publickey).
  fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

Ern*_*ill 7

它抱怨无法创建的目录实际上在您的主目录中 - 即〜/ .git/refs/remotes/origin/master.可能发生的事情是你在sudo下运行git,以root身份创建这些文件,现在你无法访问它们.作为root,你可以chown -R adamgamb~adamgamb/.git,然后再试一次.