У меня возникли проблемы с отправкой нового локального репозитория на Github через SSH.
Что я делаю:
git push --set-upstream [email protected]:USERNAME/test.git main
На этом этапе я ожидаю, что на Github будет создан новый удаленный репозиторий, и источник локального репозитория укажет на удаленный URL-адрес для извлечения и отправки.
Это ожидание основано на предыдущем опыте работы с GitLab, где все работает отлично. Несмотря на обширные исследования, я не нашел никакой документации, указывающей на то, что это не поддерживается в Github.
Я получаю сообщение об ошибке:
ERROR: repository not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists
Кроме того, remote -v
ничего не возвращает. Ни пульт, ни источник не были установлены.
Чтобы устранить неполадку, я попробовал это.
Подтвердите аутентификацию SSH с помощью ssh -T [email protected]
. В результате возвращается «Привет, ИМЯ ПОЛЬЗОВАТЕЛЯ! Вы успешно прошли аутентификацию...»
Я также создал новый репозиторий на Github через веб-интерфейс, а затем использовал SSH для локального клонирования репозитория. Я отредактировал, создал новый коммит и смог успешно отправить изменения обратно в Github через SSH.
Таким образом, аутентификация SSH, похоже, работает вместе с git clone и git push.
Использование git remote add origin [email protected]:USERNAME/test.git
добавляет URL-адреса источника для выборки и отправки, но затем `git push --set-upstream origin main' завершается с ошибкой «репозиторий не найден», как указано выше.
Кажется, проблема в том, что я не могу установить вышестоящую ветку и/или Github не позволяет мне создать новый репозиторий через SSH.
«На данный момент я ожидаю, что на Github будет создан новый удаленный репозиторий». Хватит этого ожидать. Git push не создает удаленное репо. Фактически, ни одна локальная команда Git не может создать удаленный репозиторий. Для GitHub вы можете использовать инструмент командной строки gh
, чтобы создать удаленный репозиторий перед отправкой с помощью Git. cli.github.com
@matt GitLab может создавать репозитории с помощью git push, но никакие другие хостинги, AFAIK, не поддерживаются.
@phd Это полезный момент, потому что он предполагает, что идея ОП о том, что git push
может создать для вас пульт, не глупа!
@matt Это не глупо, просто не реализовано. GitHub не делает этого, но имеет API и множество оболочек командной строки для API, gh
, hub
и т. д.
Как упоминалось в комментариях (спасибо Мэтту, доктору наук), это возможно с GitLab, но не с GitHub. ОП, понятно, но ошибочно ожидал паритета функций :).
Github не создает новые репозитории через HTTPS или SSH. Для отправки вам необходимо уже создать репозиторий. Вы можете заранее создать новый репозиторий с помощью веб-интерфейса или API. ПС. Понижение не мое.