Git Checkout
Ostatnia aktualizacja
git checkout to klasyczne polecenie do poruszania się po repozytorium: przełącza gałęzie, tworzy gałąź z -b, przechodzi do konkretnego commita albo przywraca plik. Robi dużo, dlatego nowszy Git podzielił jego zadania na git switch (gałęzie) i git restore (pliki). Oba style nadal działają.
Wypróbuj te polecenia w terminalu online: prawdziwa powłoka w przeglądarce, bez żadnej instalacji.
Składnia
| Polecenie | Co robi |
|---|---|
git checkout main | Przełącza na istniejącą gałąź |
git checkout -b feature | Tworzy nową gałąź i przełącza się na nią |
git checkout <hash> | Przechodzi do konkretnego commita (detached HEAD) |
git checkout -- file.txt | Odrzuca zmiany w pliku (przywraca go) |
git checkout main -- file.txt | Przywraca jeden plik z innej gałęzi |
checkout vs switch vs restore
| Zadanie | Stary sposób (checkout) | Nowoczesny |
|---|---|---|
| Zmiana gałęzi | git checkout main | git switch main |
| Utworzenie + przełączenie | git checkout -b x | git switch -c x |
| Odrzucenie zmian w pliku | git checkout -- f | git restore f |
Najczęstsze pytania o git checkout
Co robi git checkout?
Przenosi cię po repozytorium. Najczęściej przełącza gałęzie (
git checkout main), ale potrafi też utworzyć gałąź (-b), przejść do konkretnego commita albo przywrócić plik do wcześniejszej wersji. Ponieważ wykonuje kilka różnych zadań, nowoczesny Git wprowadził git switch i git restore, żeby je rozdzielić.Czym różni się git checkout od git switch?
git switch to nowsze, wyspecjalizowane polecenie, które tylko przełącza gałęzie (a z -c także je tworzy): jest czytelniejsze i trudniej go użyć źle. git checkout robi to samo, a do tego przywraca pliki i przechodzi do commitów. Przy pracy z gałęziami git switch main i git checkout main są równoważne; używaj tego, które woli twój zespół.Jak przejść do konkretnego commita?
Uruchom
git checkout <hash>. Trafiasz wtedy w stan "detached HEAD": oglądasz ten commit, ale nie jesteś na żadnej gałęzi. Żeby zachować pracę wykonaną w tym miejscu, utwórz gałąź: git switch -c newbranch. Żeby wrócić, przełącz się znowu na gałąź przez git switch main.Jak odrzucić zmiany w pliku za pomocą checkout?
Uruchom
git checkout -- file.txt, żeby wyrzucić niezatwierdzone zmiany w tym pliku i przywrócić ostatnią zatwierdzoną wersję. W nowoczesnym Git czytelniejszy odpowiednik to git restore file.txt. Oba usuwają twoje edycje, więc upewnij się, że ich nie potrzebujesz.Czy mogę to przećwiczyć online?
Tak. Otwórz terminal online i uruchom
git checkout w prawdziwej powłoce w przeglądarce, bez żadnej instalacji. Darmowy interaktywny kurs Git w Coddy też krok po kroku omawia tworzenie gałęzi i przełączanie się między nimi.