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

Как переключить коммит в ветке git?

Есть две ветки: master и prod. В prod велась разработка новой версии, master - старая версия и только хотфиксы. Теперь мне нужно, что бы ветка master была идентична ветке prod. Merge сделать нельзя, неимоверное количество конфликтов. Как переключить ветку master на тот же коммит что и prod корректно?
  • Вопрос задан
  • 882 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 3
zagayevskiy
@zagayevskiy
Android developer at Yandex
git checkout master
git branch -m old-master //переименовали master на всякий случай вместо удаления
git checkout prod
git checkout -b master
git push origin --all --force
Ответ написан
@aol-nnov
git checkout master
git reset --hard prod

извраты с "сохранением" показали выше. а вообще, любИте документацию. она рулит!
Ответ написан
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Merge сделать нельзя, неимоверное количество конфликтов.

У merge есть ключик -s задающий стратегию, а среди стратегий есть прекраснейшая ours, оставляющая текущую ветку без изменений:

git checkout prod
git merge master -s ours
git checkout master
git merge prod
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
nalomenko
@nalomenko
Руководитель отдела разработок в студии «Lava»
Может это и некорректно, но первое, что приходит в голову — отбранчеваться от мастера (дабы сохранить его состояние, если необходимо) в отдельную ветку, например, old, сам мастер дропнуть, а затем отбранчеваться от prod'а в новый master
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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