@romicohen
Системный Архитектор

Как привести локальную ветку Git в полное соответствие с remote-веткой БЕЗ PUSH, если «ваша ветка опережает «origin/somebranch» на XX коммитов»?

Сначала было:

На ветке somebranch
Ваша ветка и «origin/somebranch» разделились
и теперь имеют 4 и 10 разных коммитов в каждой соответственно.
(используйте «git pull», чтобы слить внешнюю ветку в вашу)


Я сделал «git pull» теперь:

На ветке somebranch
Ваша ветка опережает «origin/somebranch» на 5 коммитов.
(используйте «git push», чтобы опубликовать ваши локальные коммиты)


(пятый комит взялся потому, что мне пришлось руками делать слияние в одном конфликтном файле и потом комитить).

И вот теперь у меня такая ситуация, но мне совершенно не нужны на origin все эти комиты, потому что они все типа:

Merge branch 'somebranch' of https://gitlab.com/blablabla into somebranch


Можно ли мне как-то просто "затереть/заменить" локальную ветку той, которая на origin полностью?

Как именно?

Спасибо.
  • Вопрос задан
  • 1762 просмотра
Решения вопроса 2
Lynn
@Lynn
nginx, js, css
git reset --hard @{UPSTREAM}

но потом не прибегайте жаловаться что у вас потерялись какие-то изменения.
Ответ написан
@sl0
1. Чтобы не видеть сообщений типа
Merge branch 'somebranch' of https://gitlab.com/blablabla into somebranch
используй rebase вместо merge.
2. Как советовали выше, чтобы привести локальную ветку в соответствие с удаленной, используется reset --hard, но делать это надо понимая, что произойдет и как.
3. Советую изучить что делает squash, пригодится.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы