среда, 8 февраля 2012 г.

Настройка push доступа к git (gitorious) по ssh (fatal: protocol error: expected sha/ref)

Столкнулась с тем, что не смотря на то что спокойно склонировала проект с git'а - сделать push не получалось.

ssh ключ создала, проверила и добавила на удаленный сервер гита.

При попытке выполнить push выдавалась ошибка
sudo@test:/# git push origin my_brunch



fatal: protocol error: expected sha/ref, got '
----------------------------------------------
The git:// url is read-only. Please see http://git.../project/ for the push url, if you're a committer.
----------------------------------------------

чтобы решить проблему нужно проверить push и fetch urls для удаленного сервера

sudo@test:/# git remote show origin
* remote origin
  Fetch URL: git://gitorious.../project/project.git
  Push  URL: git://gitorious.../project/project.git
  HEAD branch: master
  Remote branches:
    my_brunch tracked
    master  tracked
   ....

"Push  URL: git://g..." - по гит протоколу нет доступа на Push - для этого нужен ssh. Изменим Push  URL c http на ssh (ssh адрес можно посмотреть на удаленном сервере в "Clone & push urls")

sudo@test:/# git remote set-url origin git@gitorious...:project/project.git

Проверим, что все заработало

sudo@test:/# git pull
...
sudo@test:/# git st
sudo@test:/# git push origin my_brunch

Комментариев нет:

Отправить комментарий