Git: Wyciąganie oddziału

Opiszę moją sytuację:

Pan Blond i Pan Orange pracują nad gałęzią A, która rozgałęzia się z gałęzi głównej na commit M1. Oddział A ma 2 zatwierdzenia: A1 i A2.

M1  
   \
    \
     A1 - A2

Tymczasem pan Orange popełnił i popchnął kolejne 2 zatwierdzenia na gałęzi głównej, M2 i M3.

M1  - M2 - M3
   \
    \
     A1 - A2

Pan Blond wyciąga z pilota i po chwili decyduje się na ponowne umieszczenie na gałęzi głównej:

M1  - M2 - M3
   \         \
    \         \
     A1 - A2   A1` - A2`

Teraz A1` i A2` to ponownie zatwierdzone commits, które istnieją lokalnie w Mr blond's, a A1 i A2 istnieją zdalnie. Pan Blond popycha swoje zobowiązania, używając-fa wymusić zmiany i „przepisać” historię. Teraz zdalne repozytorium wygląda tak:

M1  - M2 - M3
             \
              \
               A1` - A2`

Ale pan Orange pracował również w oddziale A. Jego lokalne repozytorium nadal wygląda tak:

M1  - M2 - M3
   \
    \
     A1 - A2

Co Pan Orange musi zrobić, aby zsynchronizować się z oddziałem A w zdalnym repozytorium?

Normalny ciąg nie zadziała. Będzieciągnij -f wymusić lokalne zmiany na pilocie? Wiem, że usunięcie lokalnej wersji A i przywrócenie jej ze zdalnego repozytorium zadziała, ale nie wydaje się to dobrym sposobem na osiągnięcie tego.

questionAnswers(3)

yourAnswerToTheQuestion