W tym artykule krótko wyjaśni różnicę między resetem git -Hard, -soft i -MIXED.
Jaka jest różnica między resetem git -zmieszanym, -soft i -hard?
Git zapewnia wiele opcji resetowania. Na podstawie tego, jak radzą sobie z zatwierdzeniami, wszystkie dostępne opcje różnią się od siebie. Wszyscy modyfikują historię git i odsuwają głowę. Ponadto radzą sobie z zmianami inaczej, na przykład:
Weźmy przykład, aby zobaczyć, jak „$ git reset„Polecenie działa z różnymi opcjami!
Krok 1: Przejdź do żądanego repozytorium GIT
Najpierw przejdź do żądanego repozytorium GIT, wykorzystując „płyta CD" Komenda:
$ cd "c: \ git \ test_repo"
Krok 2: Utwórz plik
Teraz wykonaj poniższe polecenie, aby utworzyć plik:
$ Touch File4.tekst
Krok 3: Dodaj plik do indeksu inscenizacji
Użyj "Git dodaj”Polecenie, aby dodać nowo wygenerowany plik do indeksu inscenizacji:
$ git dodaj plik4.tekst
Krok 4: Zmiany popełniania
Następnie dodaj wszystkie zmiany do działającego repozytorium, wykonując „git zatwierdzić" Komenda:
$ git commit -m "plik 4 dodano"
Krok 5: Sprawdź dziennik git
Następnie sprawdź historię dziennika git, aby wyświetlić najnowsze dodane zatwierdzenia:
$ git log
W poniższym wyjściu można zauważyć, że wszystkie najnowsze dodane zatrudnienia są wyświetlane oraz „„ ”GŁOWA„Wskazuje na najnowsze zatwierdzenie:
Notatka: Aby lepiej sprawdzić bieżącą pozycję wskazującą głowę, wykonaj „Git Log”Polecenie wraz z„-jedna linia" flaga:
$ git log -linia
Poniżej podane dane wyjściowe pokazuje listę hash zatwierdzenia z komunikatami zatwierdzenia:
Krok 6: Użyj GIT RESET -SOFT Command
Aby przywrócić dodane zmiany z repozytorium GIT do wskaźnika stopnia stopnia, użyj „Git Reset”Polecenie wraz z„-miękki„Opcja i określ żądaną pozycję głowy, w której musi przesunąć wskaźnik:
$ git reset -Soft Head ~ 1
Krok 7: Sprawdź status GIT
Teraz zweryfikuj pozycję powracającą głowicy Sprawdź status repozytorium GIT:
Status $ git
Widać, że „Git Reset -soft”Polecenie zwróciło zmiany zatwierdzenia w indeksie zaawansowania GIT. Co więcej, „Plik4.tekst„Plik znajduje się teraz w indeksie inscenizacji GIT i należy go popełnić:
Krok 8: Sprawdź dziennik git
Aby wyświetlić bieżącą pozycję głowy, uruchom podane polecenie wraz z „-jedna linia" opcja:
$ git log -linia
Tutaj głowa wskazuje na „Plik3" popełniać:
Krok 9: Użyj resetowania git - mieszane polecenie
Aby cofnąć popełnione zmiany i usunąć pliki z obszaru inscenizacji bez usuwania z nich z katalogu roboczego, wykonaj „$ git reset -mieced”Polecenie wraz z wymaganą pozycją główną zatwierdzenia:
$ git reset -mieszana głowa ~ 1
Krok 10: Sprawdź status GIT
Zobacz nowo dodane zmiany, sprawdzając status repozytorium GIT:
Status $ git
Można zauważyć, że określone zmiany zatwierdzenia są usuwane z obszaru zaawansowania. Są one jednak umieszczane w obszarze roboczym:
Krok 11: Sprawdź dziennik git
Sprawdź historię dziennika referencyjnego GIT wraz z Hash SHA:
$ git log -linia
Krok 12: Użyj resetowania git - twarde polecenie
Aby usunąć dodatkowe zmiany z lokalnego katalogu roboczego GIT, wykonaj „$ git reset -Hard" Komenda:
$ git reset -twarda głowa ~ 1
Krok 13: Sprawdź wskaźnik rewerkowany
Aby zweryfikować wskaźnik głowy, powróć do określonej pozycji, uruchom „Git Log" Komenda:
$ git log -linia
Poniżej wyjście pokazuje, że głowa wskazuje na „Dodano plik1" popełniać:
Krok 14: Sprawdź status GIT
Aby wyświetlić dodane zmiany, sprawdź status GIT:
Status $ git
Można zauważyć, że nie mamy żadnej ścieżki i oczekujących zmian „Plik2.tekst" plik. Dlatego plik2.TXT został całkowicie usunięty:
Krok 15: Sprawdź listę treści repozytorium
Aby zweryfikować listę treści repozytorium, uruchom „LS" Komenda:
$ ls
Jak widać, „Plik2.tekst„Plik nie istnieje w bieżącym katalogu:
Wyjaśniliśmy różnicę między opcjami resetowania git, -soft i -hard.
Wniosek
„„Git Reset”Polecenie służy do zresetowania zmian, modyfikacji historii repozytorium GIT i naprawy błędów. „„Git Reset -soft„Polecenie przechowuje pliki i zwraca zmiany zatwierdzenia w obszarze inscenizacji GIT. Natomiast „Git Reset -Mixed”Polecenie cofnie zmiany zatwierdzenia i usuń plik z indeksu inscenizacji bez usunięcia go z katalogu roboczego. Aby usunąć wszystkie zmiany i usunąć je z obszaru roboczego Git, „Git Reset -Hard„Można użyć polecenia. W tym artykule ilustruje różnicę między resetem git -MIXED, -soft i -Hard.