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

Как откатиться в старой ветке?

Привет. Суть в следующем.

Внешний разработчик создал ветку условно [branch-1] внес в нее изменения и запушил в удаленный репозиторий.
Далее я сфечил все новые ветки и переключился на появившуюся ветку [branch-1], внес много изменений и запушил. Параллельно другие разработчики выполняли свои задачи и в конечном итогде все это смержилось в мастер, в том числе и ветка [branch-1] с моими изменениями.

Выявили баг. Просто откатит мастер не выйдет, есть риск что-то сломать т.к было затронуто много кодовой базы, фиксить в текущей версии тоже сложно. Нужно откатить ветку [branch-1] до начального состояния и запушить как есть. У меня сомнения как правильно это сделать.
1. Создать ветку от текущего мастера/дева, откатить ветку [branch-1] локально путем git reset --hard HEAD^ до нужно коммита и смержить ее в новую ветку?
2. Тоже самое, только вместо git reset переключиться к нужному коммиту по его хешу?
3. ....?

В обоих случаях не понятно что будет при пуше, так как выше есть уже накатаные изменения.
В одном уверен точно, что конкретно в этой ветке больше ничего лишнего не затрагивается и можно спокойно ее откатывать.
  • Вопрос задан
  • 4365 просмотров
Подписаться 2 Простой Комментировать
Решение пользователя Дмитрий Шицков К ответам на вопрос (2)
Корректным путем будет выполнение git revert на проблемной ветке, а затем смерджить изменения.

Во всех других случаях высокий шанс что-то сломать, а заодно придётся произвести форспуши как минимум в 2 ветках, в т.ч. в мастер.
Ответ написан