Ponowna baza
Rebase to proces zmiany historii zatwierdzeń gałęzi poprzez zastosowanie zatwierdzeń z innej gałęzi. Zamiast używać merge do łączenia zmian, rebase umożliwia wprowadzanie insert nowych zatwierdzeń do historii zatwierdzeń bieżącej gałęzi bez tworzenia zatwierdzeń łączenia.
Załóżmy na przykład, że masz dwie gałęzie: feature-branch i main. Pracujesz nad feature-branch i chcesz zastosować najnowsze zatwierdzenia z main bieżącej gałęzi. Możesz użyć rebase, aby to osiągnąć:
git checkout feature-branch
git rebase main
Gdy uruchomisz to polecenie, Git pobierze zatwierdzenia z main i zastosuje je w plikach feature-branch. Oznacza to, że wszystkie zatwierdzenia w dniu feature-branch pojawią się po zatwierdzeniach z main. Rezultatem jest czystsza i bardziej czytelna historia zatwierdzeń w feature-branch.
Jednak w przypadku korzystania z rebase należy pamiętać, że zmiana historii zatwierdzania może mieć wpływ na publicznie udostępnione gałęzie. Dlatego, jeśli już wypchnąłeś zatwierdzenia z bieżącej gałęzi do zdalnego repozytorium, generalnie zaleca się, aby nie używać rebase w tej gałęzi, aby uniknąć konfliktów i niechlujnej historii zatwierdzeń.
Branch Przełączanie
Przełączanie gałęzi w Git odnosi się do procesu przechodzenia z jednej gałęzi do drugiej. Kiedy przełączasz gałęzie, Git przesuwa wskaźnik HEAD do nowej gałęzi, umożliwiając pracę na tej gałęzi i wprowadzanie zmian bez wpływu na inne gałęzie.
Załóżmy na przykład, że masz gałęzie feature-branch i pliki main. Aby przełączyć się na feature-branch, użyjesz następującego polecenia:
git checkout feature-branch
Po przełączeniu gałęzi możesz dokonać zmian w katalogu roboczym. Wszystkie polecenia commit, add, i checkout zostaną zastosowane do bieżącej gałęzi.
Na przykład, jeśli dodasz nowy plik i zatwierdzisz go w dniu feature-branch, tylko ta gałąź będzie zawierała zatwierdzenie, podczas gdy main pozostanie to nienaruszone. Pozwala to na rozwijanie osobnych funkcji, naprawianie błędów lub niezależną pracę nad różnymi wersjami kodu. W razie potrzeby możesz przełączać się między gałęziami, aby pracować nad każdą gałęzią osobno.

