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.