Задать вопрос
@steklovatnik

Почему гитхаб не дает пушить на main?

git push -u origin main
после этой команды выдает
error: src refspec main does not match any
error: failed to push some refs to 'https://github.com/...'

При этом, если я сделаю git push -u origin master, то создается новая ветка и туда отправляются нужные файлы, правда как с ней взаимодействовать — непонятно, все выводится списком. Я пытаюсь принять пуш, но ничего не происходит
62dc2baeeea93215697135.png

А еще, если попытаться опять что-нибудь закоммитить git commit -m "#1"
то получается:
On branch master
nothing to commit, working tree clean

То есть локально у меня главная ветка master, а на гитхабе main, из-за этого не может быть проблем?
  • Вопрос задан
  • 11723 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
Нет, не на main, а из main.

Команда git push -u origin main делает отправку локальной ветки main во внешний репозиторий origin, но ветки main не существует локально, о чем вам и сообщили в ошибке.

Вам нужно либо переименовать master в main:
git branch -M main

Либо так и написать, что вы хотите master отправить во внешний main
git push -u origin master:main

Но судя по скрину, у вас репозиторий не пустой. Вы уже создали там ветку с первоначальным коммитом. Поэтому вы не сможете просто так туда сделать push, так как ваши ветки не имеют общей истории. Это РАЗНЫЕ деревья. В таких случаях можно просто пересадить локальную ветку на вершину внешней через rebase. Либо создать ПУСТОЙ репо, как вы и сделали.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@steklovatnik Автор вопроса
*** нет цензурных слов)
в моем репозитории на гите лежал файл readme.md
даже если я его пулил на локальный репозиторий, это не помогало
в итоге создал все заново без всяких доп файлов и нормально запушилось
+ добавил git branch -M main
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы