Ściąga z poleceń Git

Dalej

Git ma około 150 podpoleceń, a kilka z nich jest niebezpiecznie podobnych – reset kontra restore, checkout kontra switch, rm kontra restore --staged. Ta ściąga grupuje polecenia, które naprawdę wpisujesz, według sytuacji: codzienna praca, gałęzie, cofanie błędów i stash. Wybierz grupę i skopiuj blok.

Jak korzystać ze ściągi

  1. 1

    Wybierz temat

    Codzienna praca, gałęzie, cofanie lub stash – każdy odpowiada innemu sposobowi myślenia.

  2. 2

    Przejrzyj blok

    Każdy wiersz to kompletne, działające polecenie; nie ma symboli zastępczych w nawiasach kątowych, chyba że wyraźnie je oznaczono.

  3. 3

    Skopiuj to, czego potrzebujesz

    Wklej do terminala, dopasuj nazwę gałęzi lub SHA commita i uruchom.

Dlaczego polecenia wciąż mylą doświadczonych użytkowników

Warstwa porcelain w Git rozrastała się stopniowo, polecenie po poleceniu. checkout przeciążono dwoma zadaniami, „przełącz gałąź“ oraz „przywróć plik“; reset leży gdzieś pomiędzy „porzuć pracę“ a „przesuń wskaźnik gałęzi“. Od wersji Git 2.23 istnieją bardziej czytelne czasowniki:

Stary Nowy (czytelniejszy)
git checkout branch git switch branch
git checkout -b new git switch -c new
git checkout -- file git restore file
git checkout --staged file git restore --staged file

Bezpieczna drabina cofania

  1. Przywróć jeden plik: git restore path/to/file (niezastage’owany) lub git restore --staged path/to/file (zastage’owany, ale jeszcze niezacommitowany).
  2. Cofnij ostatni commit, zachowując zmiany: git reset --soft HEAD~1.
  3. Cofnij ostatni commit i odrzuć zmiany: git reset --hard HEAD~1 (operacja destrukcyjna; upewnij się, że nie masz niezacommitowanej pracy).
  4. Cofnij współdzielony commit: git revert <sha> – tworzy nowy commit, który znosi poprzedni; bezpieczne dla wypchniętej już historii.

Zasady dobrego stashowania

  • Zawsze stashuj z komunikatem: git stash push -m "wip: podłączam API".
  • Przed pop sprawdź listę poleceniem git stash list, bezimienne stashe szybko się piętrzą.
  • git stash pop stosuje i usuwa; git stash apply stosuje i zachowuje.

Odzyskiwanie

Straciłeś commit po hard resecie? Prawdopodobnie wciąż jest w reflogu. Uruchom git reflog, aby zobaczyć każde przesunięcie HEAD z ostatnich 90 dni, i git reset --hard <sha>, aby wrócić do dobrego stanu.

Najczęściej zadawane pytania

Od wersji Git 2.23 (sierpień 2019) projekt podzielił przeciążone polecenie checkout na dwa. switch przełącza gałęzie, a restore przywraca pliki. Oba nadal istnieją ze względu na wsteczną kompatybilność, ale są czytelniejsze, gdy później przeglądasz historię poleceń w powłoce.

reset przesuwa wskaźnik gałęzi (a opcjonalnie także drzewo robocze). revert tworzy nowy commit, który cofa poprzedni – bezpieczny na współdzielonej gałęzi. checkout / restore zmieniają pliki w drzewie roboczym bez przepisywania historii.

Użyj git revert <sha>, aby dodać commit kompensujący, i wypchnij właśnie ten commit. Unikaj kombinacji git reset --hard + git push --force na współdzielonych gałęziach, chyba że zespół wyraźnie się na to zgodził.

Polecenia to statyczny tekst renderowany na stronie. Wybrany temat jest wysyłany na serwer tylko po to, aby wyświetlić odpowiednie polecenia, i trafia do linku strony podczas przechodzenia między dwoma krokami. Nie jest zapisywany ani rejestrowany.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach