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

Если по запаре сделал несколько коммитов не в ту ветку — можно ли их как-то выборочно перенести в другую?

Ну, например, забыл переключиться, и сделал пару коммитов в мастер.

Или, вообще в branch-1 а нужно было в branch-2

Как это все разрулить можно?

Спасибо.
  • Вопрос задан
  • 655 просмотров
Решения вопроса 1
YuriyVorobyov1333
@YuriyVorobyov1333
Software Developer
Зависит от того, какой перенос вы хотите сделать и какие состояния веток сейчас
Предположим, что у вас такая ситуация:
branch-1 A - B - C - D - E
branch-2 F

Коммиты C, D и E были запушены случайно, и требуется переместить их в branch-2
Порядок такой:
# переключаемся на нужный бранч
git checkout branch-2
# мержим бранч с коммитами
git merge branch-1
# переключаемся на бранч, в который случайно запушили
git checkout branch-1
# делает жесткий резет на 3 коммита назад (все, что мы сделали и на закомитили в ветке сотрется)
git reset --hard HEAD~3
# переключаемся на наш бранч
git checkout branch-2

Результат:
branch-1 A - B
branch-2 F - C - D - E
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@alegzz
man git-cherry-pick
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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