Git: Потянув перебазированную ветку
Позвольте мне описать мою ситуацию:
Мистер Блонд и Мистер Оранж работают над веткой А, которая разветвляется из главной ветки при коммите М1. Ветвь А имеет 2 коммита: А1 и А2.
M1
\
\
A1 - A2
Тем временем г-н Оранж совершил и выдвинул еще 2 коммита в основной ветке, М2 и М3.
M1 - M2 - M3
\
\
A1 - A2
Мистер Блонд тянет с пульта и через некоторое время решает перебазироваться на главную ветку:
M1 - M2 - M3
\ \
\ \
A1 - A2 A1` - A2`
Теперь A1` и A2` - это перебазированные коммиты, которые существуют локально у мистера блонда, а A1 и A2 существуют удаленно. Мистер Блонд подталкивает свои коммиты, используя-f чтобы заставить его изменения и «переписать» историю. Теперь удаленный репозиторий выглядит так:
M1 - M2 - M3
\
\
A1` - A2`
Но мистер Ориндж тоже работал на ветке А. Его локальное хранилище все еще выглядит так:
M1 - M2 - M3
\
\
A1 - A2
Что нужно сделать мистеру Оранджу для синхронизации с веткой A в удаленном хранилище?
Нормальная тяга не сработает. Будеттянуть -f заставить изменения с пульта локально? Я знаю, что удаление локальной версии A и ее повторное использование из удаленного репозитория принесет свои плоды, но, похоже, это не очень хороший способ добиться этого.