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

Как перебазировать разросшуюся ветку в git?

Добрый день.
На картинке вы видите
1) Модель состояние условного репозитория в данный момент
2) и 3) Состояния в которые я бы хотел перейти с помощью git rebase
master, tmp1 и tmp2 - это ветки
Ничего я не забыл на второй картинке. Все именно так, как я это представляю.
Спасибо5ea9356b91cb7347387195.png
  • Вопрос задан
  • 143 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
# 1 -> 2
git rebase --onto master tmp1~2 tmp1 # пересадить два коммита ветки tmp1
git rebase --onto master tmp2~3 tmp2 # пересадить три коммита ветки tmp2
git reset HEAD~1 # обрезать ветку tmp2 на один коммит

# 1 -> 3
git rebase --onto master tmp1~3 tmp1# пересадить три коммита ветки tmp1
git switch master # вернуться в мастер
git reset tmp1~2 # и подвинуть его на шаг вперёд
git rebase --onto master tmp2~3 tmp2 # пересадить три коммита ветки tmp2
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Самый простой путь, наверное, в ветках tmp1 и tmp2 сделать git rebase --interactive --rebase-merges и вручную собрать нужную структуру.
См. секцию REBASING MERGES в справке у git rebase.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
ИТРУМ Ростов-на-Дону
от 75 000 ₽