Как на мастер залить контент другой ветки, избежав всех конфликтов?



@MiiZZo

Есть две ветки: master и feature. feature значительно впереди master по коммитам и при обычном слиянии возникает огромное количество конфликтов, самостоятельно исправлять которые нет никакого желания, каким образом можно форсировано запушить изменения ветки feature в ветку master таким образом, чтобы контент master не состовлял интереса?


Решения вопроса 3



@HuckF1nn

Вот то что вам нужно:

git merge -X

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

Ответы на вопрос 1



@Xitsa

Это, конечно, странная ситуация, но такое бывает, поэтому лучше всего сымитировать слияние, где содержимое одной ветки будет полностью заменено другой:
git checkout master
git commit-tree -p master -p feature -m "Overriding master with feature" feature^{tree}
12346aa23590aa
git merge --ff 12346aa23590aa

Команда git commit-tree создаст коммит-слияние мастера и фичи, где содержимое мастера будет полностью заменено фичей, и выведет идентификатор этого коммита.
Последняя команда интегрирует этот коммит в мастер.

Преимущества:

  • Выглядит как обычный коммит-слияние
  • Корректно сохраняет историю веток
  • Не надо проходить по разработчикам для выполнения каких-либо команд

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *