Задать вопрос
Exileum
@Exileum
PHP-программист

Как поменять «стартовый» коммит ветки git-репозитария?

Подскажите, пожалуйста, по такой проблеме.

В git-репозитарии от ветки develop (коммит AAA) была создана ветка test. Как таковых изменений в ветке не было. После этого, к ветке develop были применены несколько коммитов - BBB, CCC, DDD. Своевременный rebase/merge ветки test сделан не был и в ветку test был отправлен коммит EEE.

Ветки develop и test на том этапе стали отличаться ровно на три пропущенных коммита - BBB, CCC, DDD. И все бы относительно неплохо, но вот только пришло время сливать ветку test с веткой develop, а из-за недостающих коммитов сделать это возможным не представляется - сотни файлов конфликтуют, решить конфликты возможным не представляется (была смена окончаний строк, "решать" надо все файлы целиком).

Возможно ли сейчас (спустя десятки коммитов как в ветку develop, так и в ветку test) сделать так, чтобы ветка test брала свое начало не с коммита AAA, а с коммита DDD? Тогда все проблемы со слиянием веток уйдут. Сделать это у меня не выходит, абсолютно запутался с командами с git rebase и git cherry-pick.

PS. Изменения были отправлены на удаленный репозитарий по всем веткам. В качестве "резервного" варианта для себя оставил создание новой ветки, на которую накатывать вручную патчами все изменения ветки test
  • Вопрос задан
  • 2480 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Scorpi
@Scorpi
Не совсем понял в чём проблема, сливаете ветку develop в ветку test, те файлы которые были затронуты в коммите EEE обрабатываете вручную, остальные автоматически. После этого сливаете ветку test в develop.
Ответ написан
EXL
@EXL
Энтузиаст
была смена окончаний строк, "решать" надо все файлы целиком
А что если попробовать на коммите "EEE" ветки "test" сделать коммит "FFF", который по своей сути будет "Fix CRLF to LF" то есть содержать просто конвертацию строк кода проекта в LF. А потом соответственно попытаться слить ветки "test" и "develop" снова? Тогда конфликтов с окончаниями строк быть не должно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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