Сегодня начал осваивать Git.
На работе стоит linux и прокси. Столкнулся с проблемой записи обновлений репозитория на сервер:
$ git push origin master
fatal: remote error: You can't push to git ...
Попробовал решение с ssh: создал ключ в ~/.ssh как описано в этом мануале:
Добавил ключ в account settings на github.com;
Изменил адрес для origin:
$ git remote set-url origin ssh://git@github.com/username/repo_name.git
где username - логин на GitHub, repo_name - имя репозитория
Пробую:
$ git push origin master
ssh: connect to host github.com port 22: Connection refused
fatal: The remote end hung up unexpectedly
Проверяю доступ по ssh:
$ ssh -T git@github.com
не работает.
Попробовал изменить порт, как сказано здесь:
Получил:
$ ssh -T git@github.com
ssh: connect to host ssh.github.com port 443: Connection refused
Проверка:
$ ssh -T -p 443 git@ssh.github.com
ssh: connect to host ssh.github.com port 443: Connection refused
Не работает.
Решил дальше сражаться с https-адресом, раз уж с ssh глухо.
Меняю адрес для origin:
git remote set-url https://github.com/username/repo_name.git
Пробую:
$ git push origin master
error: The requested URL returned error: 403 while accessing https://github.com/username/repo_name.git/info/refs
"Для входа по https необходимо определить ваше имя пользователя для git remote:
$ git remote set-url origin https://username@github.com/user/repo.git
где username - ваше имя пользователя на GitHub, остальную часть ссылки исправлять не надо!
Теперь при попытке $ git push будет запрашиваться пароль от аккаунта на GitHub
Пробую:
$ git push origin master
Password:
Counting objects: 15, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (14/14), done.
Writing objects: 100% (14/14), 3.23 KiB, done.
Ура! Всё получилось!