Страницы

Поиск по вопросам

суббота, 20 апреля 2019 г.

Не могу сделать push в чужой репозиторий: “already up-to-date”

Меня добавили в репозиторий (дали права на коммит, пуш).
Сделал клон этого репозитория, создал ветку, закоммитил изменения.
Пытаюсь сделать git push, чтобы на удалённом появилась моя новая ветка со всеми изменениями.
Ввожу мэйл, пароль, в ответ приходит "already up-to-date". Данных на удаленном нет...
Что я делаю не так?


Ответ

already up-to-date
Это означает что:
На том сервере, куда вы пушите, уже есть такая ветка И эта ветка находится в таком же состоянии (т.е. точно на тот же коммит смотрит).
Варианты:
Вы пушите не туда (а в какой-то другой репозиторий). Проверяется командой
git remote -v Вы пушите не то что нужно (а например свою ветку master). Предположим, нужные коммиты у вас в ветке mybranch
git checkout mybranch # проверим, что коммиты на месте git log git push -u origin mybranch
Можно обойтись без checkout и сразу выбрать, что и куда пушить
git push -u origin mybranch:mybranch Вы сделали коммиты не в ту ветку.
создал ветку, закоммитил изменения.
Довольно частая ситуация: разработчик создал ветку, но не переключился на неё. Проверяется просто:
# проверим, что коммиты на месте git log mybranch
Если оказалось, что коммиты, например, в master, а должны быть в mybranch
git checkout mybranch git reset --hard master # теперь пробуем пушить git push -u origin mybranch
# а теперь вернём свой master на тот же коммит, который на удалённом сервере git checkout master git reset --hard origin/master # заодно можно его обновить git pull

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

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