поймать 22 с разрешениями git для частных репозиториев - PullRequest
3 голосов
/ 30 марта 2011

Я получаю следующее, когда пытаюсь отправить dir со своего сервера в частные репозитории с помощью 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

В настоящее время, если я пытаюсь использовать git без sudo, я получаю этоошибка из-за невозможности доступа к файлам, однако, если я использую sudo, git publickey отклоняется (он находится в ~ / .ssh пользователя, который выполняет это как)

Может кто-нибудь объяснить, какчтобы избежать этой проблемы?

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

1 Ответ

7 голосов
/ 30 марта 2011

Каталог, который он жалуется на неспособность создать, на самом деле находится в вашем домашнем каталоге - то есть ~ / .git / refs / remotes / origin / master.Вероятно, произошло то, что вы запустили git под sudo, создали эти файлы как root, и теперь вы не можете получить к ним доступ.В качестве пользователя root вы можете выбрать -R adamgamb ~ adamgamb / .git, а затем повторить попытку.

...