Mam repozytorium Git, które ma gałąź (lokalną i zdalną), która stała się nieaktualna. Chciałbym zaktualizować tę gałąź z gałęzią główną, ale nie wiem, jak to zrobić. Prawdopodobnie będzie też wiele konfliktów podczas łączenia.
Jak mogę przenieść lub zaktualizować ten nieaktualny oddział do tego samego stanu, co oddział główny?
git
git-branch
Andrzej
źródło
źródło
Odpowiedzi:
Zaktualizuj gałąź główną, co musisz zrobić niezależnie.
Następnie jeden z:
Przywróć starą gałąź do gałęzi głównej. Rozwiąż konflikty scalania podczas rebase, a wynikiem będzie aktualna gałąź, która bezproblemowo łączy się z wzorcem.
Połącz swoją gałąź w master i rozwiąż konflikty scalania.
Połącz mistrza ze swoją gałęzią i rozwiąż konflikty scalania. Następnie scalanie z twojej gałęzi do mastera powinno być czyste.
Żaden z nich nie jest lepszy od drugiego, po prostu mają różne wzorce kompromisów.
Użyłbym podejścia rebase, które moim zdaniem daje czystsze ogólne wyniki późniejszym czytelnikom, ale to nic poza osobistym gustem.
Aby zmienić bazę i zachować oddział, należy:
W twoim przypadku sprawdź więc starą gałąź
aby go odbudować przeciwko panu.
źródło
git rebase
:)git checkout $branch && git rebase $target
- w twoim przypadku sprawdź starą gałąź, a następniegit rebase master
odbuduj ją przeciwko mistrzowi.-f
opcji. Kiedy przepisujesz historię, wymagany jest silny nacisk.