Git Rebase
Ostatnia aktualizacja
git rebase przenosi commity twojej gałęzi tak, że są odtwarzane na wierzchu innej gałęzi. Daje to prostą, liniową historię zamiast commita scalającego. Interaktywny rebase (-i) idzie dalej i pozwala łączyć, zmieniać kolejność, edytować albo usuwać commity. Ponieważ rebase przepisuje commity, stosuj go tylko do pracy, której jeszcze nie udostępniono innym.
Wypróbuj te polecenia w terminalu online: prawdziwa powłoka w przeglądarce, bez żadnej instalacji.
Składnia
| Polecenie | Co robi |
|---|---|
git rebase main | Odtwarza twoje commity na wierzchu main |
git rebase -i HEAD~3 | Interaktywnie edytuje 3 ostatnie commity |
git rebase --onto main old new | Przenosi zakres commitów na main |
git rebase --continue | Wznawia po rozwiązaniu konfliktów |
git rebase --abort | Anuluje rebase i przywraca gałąź |
git pull --rebase | Pull z rebase zamiast scalania |
Słowa kluczowe interaktywnego rebase
W edytorze otwartym przez -i zamień pick na jedno z tych słów.
| Słowo kluczowe | Co robi |
|---|---|
pick | Zostawia commit |
reword | Zostawia commit, edytuje jego wiadomość |
squash | Wtapia w poprzedni commit, łączy wiadomości |
fixup | Wtapia w poprzedni, odrzuca tę wiadomość |
drop | Całkowicie usuwa commit |
Najczęstsze pytania o git rebase
Co robi git rebase?
Czym jest interaktywny rebase?
git rebase -i <base> otwiera edytor z listą commitów od <base>, w którym możesz zmienić ich kolejność, połączyć kilka w jeden przez squash, zmienić wiadomości przez reword, edytować commit przez edit albo usunąć go przez drop. To główne narzędzie do porządkowania chaotycznej serii commitów przed ich udostępnieniem.Jaka jest złota zasada rebase?
Jak naprawić albo anulować rebase z konfliktami?
git add, a potem uruchom git rebase --continue. Użyj git rebase --skip, żeby pominąć bieżący commit, albo git rebase --abort, żeby anulować wszystko i przywrócić gałąź do stanu sprzed rozpoczęcia rebase.Czy mogę to przećwiczyć online?
git rebase w prawdziwej powłoce w przeglądarce, bez żadnej instalacji. Darmowy interaktywny kurs Git w Coddy też krok po kroku omawia rebase.