Как запушить свои изменения на GitHub в первый раз?
Написал код локально, закоммитил, а теперь хочу отправить его на GitHub. Делаю git push и получаю ошибку про «no upstream branch». Как правильно запушить ветку на гитхаб?
2 ответа
Ошибка «no upstream branch» — это нормально для первого пуша новой ветки. Git просто не знает, в какую удалённую ветку отправлять.
Общий порядок: закоммитить → запушить.
git add .
git commit -m "мои изменения"
git push
Если это первый push ветки, git попросит указать upstream. Сделай так:
git push -u origin main
(замени main на имя своей ветки). Флаг -u (или --set-upstream) связывает локальную ветку с удалённой. После этого можно пушить просто git push — git запомнит, куда.
origin — это стандартное имя удалённого репозитория (того, что на GitHub). Проверить, что он подключён:
git remote -v
Если origin пустой (новый локальный проект), сначала привяжи репозиторий:
git remote add origin https://github.com/user/project.git
Частая ошибка: пытаться пушить, не сделав коммит. git push отправляет только закоммиченное. Если ты сделал лишь git add, но не git commit — пушить нечего. Сначала git commit, потом git push. Проверь git status — он покажет, есть ли незапушенные коммиты («ahead by N commits»).
Если на GitHub просят пароль и не пускают — учти: с 2021 года пароль от аккаунта не работает для push по HTTPS. Нужен Personal Access Token: создай его в Settings → Developer settings → Personal access tokens и вводи вместо пароля.
И ещё: если push отклоняется с «rejected, fetch first» — значит на сервере есть коммиты, которых нет у тебя. Сделай git pull (подтяни их), реши конфликты если будут, и пушь снова.