Aby otrzymać nowe zobowiązania
git fetch
Resetowanie
Możesz zresetować zatwierdzenie dla lokalnego oddziału za pomocą git reset
.
Aby zmienić zatwierdzenie oddziału lokalnego:
git reset origin/master --hard
Bądź jednak ostrożny, jak to dokumentuje:
Resetuje indeks i działające drzewo. Wszelkie zmiany w śledzonych plikach w działającym drzewie od czasu <commit> są odrzucane.
Jeśli chcesz zachować wszystkie zmiany, które wprowadziłeś lokalnie - --soft
zamiast tego wykonaj reset. Który zaktualizuje historię zatwierdzeń dla gałęzi, ale nie zmieni żadnych plików w katalogu roboczym (a następnie możesz je zatwierdzić).
Rebase
Możesz odtworzyć swoje lokalne zatwierdzenia na dowolnym innym zatwierdzeniu / oddziale, używając git rebase
:
git rebase -i origin/master
Spowoduje to wywołanie rebase w trybie interaktywnym, w którym możesz wybrać sposób zastosowania każdego indywidualnego zatwierdzenia, którego nie ma w historii, której aktualizujesz.
Jeśli zatwierdzenia, które usunąłeś (za pomocą git push -f
), zostały już wprowadzone do historii lokalnej, zostaną wymienione na liście jako zatwierdzenia, które zostaną ponownie zastosowane - będą musiały zostać usunięte w ramach bazy lub po prostu zostaną ponownie włączone do historii dla oddziału - i pojawi się w odległej historii przy kolejnym wypychaniu.
Skorzystaj z pomocy, git command --help
aby uzyskać więcej informacji i przykładów na temat dowolnego z powyższych (lub innych) poleceń.
git checkout master && git branch -D test && git checkout -b test origin/test