Resetowanie gałęzi
Część sekcji Kontrola wersji ścieżki Terminal w Coddy. Lekcja 44 z 58.
git reset przesuwa wskaźnik bieżącej gałęzi do innego commita. Najczęściej używa się go do cofania ostatnich commitów, których jeszcze nie udostępniono.
git reset --hard HEAD~1To cofa main o jeden commit i nadpisuje katalog roboczy, aby był z nim zgodny. Pominięty commit nie jest już dostępny z twojej gałęzi (Git przechowuje go przez jakiś czas na wypadek, gdybyś zmienił zdanie, ale spodziewaj się, że zniknie).
Istnieją trzy rodzaje resetowania:
--soft: przesuń wskaźnik gałęzi; zachowaj zmiany w obszarze przechowującym zmiany--mixed(domyślnie): przesuń wskaźnik; usuń zmiany z obszaru przechowującego zmiany, ale zachowaj pliki robocze--hard: przesuń wskaźnik; odrzuć również zmiany w plikach roboczych
--hard to najbardziej destrukcyjna forma. Świetnie nadaje się do naprawiania lokalnych pomyłek, ale nigdy nie używaj jej w przypadku commitów, które inni już pobrali.
Wyzwanie
ŚredniFolder zawiera doc.md. Zainicjuj repozytorium i utwórz trzy commity w tej kolejności:
- Dodaj
doc.mdz komunikatemAdd doc. - Dołącz
seconddodoc.md, zatwierdź zmiany z komunikatemSecond draft. - Dołącz
thirddodoc.md, zatwierdź zmiany z komunikatemThird draft.
Wykonaj twardy reset gałęzi do pierwszego commita za pomocą HEAD~2. Wyświetl zawartość doc.md.
Spróbuj swoich sił
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Kontrola wersji
4Przeglądanie zmian
Git DiffRóżnice w zmianach w poczekalniGit ShowPodsumowanie – praca detektywistyczna2Pierwsze kroki
Inicjalizacja repozytoriumFolder .gitKonfiguracja tożsamościStatus GitPodsumowanie — pierwsze repozytorium5Ignorowanie plików
Dlaczego ignorować plikiWzorce GitignoreSprawdzanie reguł ignorowaniaPodsumowanie — czyste repozytorium8Scalanie
Czym jest scalanieScalanie typu fast-forwardScalanie trójstronneKonflikty scalaniaRozwiązywanie konfliktuPowtórka — mistrz scalania11Projekt z gałęzią funkcjonalności
Przegląd projektuZainicjuj gałąź main3Śledzenie zmian
Obszar przygotowaniaGit AddGit CommitModyfikowanie śledzonego plikuGit LogPodsumowanie — pierwsze commity6Projekt strony z przepisami
Omówienie projektuInicjalizacja i ignorowanie plikówPoćwicz samodzielnie: Edytor online Terminal