Jaka jest różnica między „git reset” a „git reset -hard”?

Jaka jest różnica między „git reset” a „git reset -hard”?

Git jest znany jako najpopularniejszy system kontroli wersji. Koncepcja kontroli wersji staje się znacząca, gdy mówimy o pracy zespołowej i współpracy. Na przykład, jeśli wielu pracowników pracuje nad jednym projektem, spójność danych jest głównym problemem, który należy rozwiązać. Nie możesz po prostu założyć, że zmiana dokonana przez jednego z pracowników zostanie automatycznie powiadomiona o wszystkich innych pracownikach pracujących nad tym projektem. Powinien być raczej odpowiedni mechanizm, za pomocą którego można zapewnić spójność danych.

Teraz, jeśli mówimy o oprogramowaniu lub systemie kontroli wersji, to jak sama nazwa wskazuje, jego głównym zadaniem jest śledzenie historii wersji. Oznacza to, że wszystkie zmiany wprowadzone w dowolnym konkretnym pliku będą uważane za osobne wersje tego pliku. Oprogramowanie lub system kontroli wersji zasadniczo pozwoli ci powrócić do starszej wersji w dowolnym momencie, zgodnie z Twoimi potrzebami. Poza tym system kontroli wersji, taki jak GIT, zapewnia również, że zmiany zaangażowane w dowolny plik mają równą widoczność dla wszystkich użytkowników, którzy mają dostęp do tego pliku, aby nie mogli przypadkowo rozpocząć pracy nad starszą wersją lub kopią tego pliku.

Podobnie jak każdy inny system kontroli wersji, Git pozwala nam również wykonywać niektóre operacje w plikach, które na nim przesyłamy. Ponadto, w dowolnym momencie, zapewnia także możliwość cofnięcia zmian, które wprowadziłeś do dowolnego konkretnego pliku, resetując. Dziś staramy się rozwijać różnicę między operacjami „git reset” i „git reset -hard”.

Zrozumienie różnicy między „git reset” a „git reset -hard”

Przed zrozumieniem różnicy między operacjami „resetowania git” i „git reset -hard”, musimy być świadomi niektórych najważniejszych terminologii używanych z tym systemem kontroli wersji. „Głowa” w GIT jest zdefiniowana jako wskaźnik, którego zadaniem jest wskazanie najnowszego zatwierdzenia lub zmiany, które dokonałeś w pliku. „Indeks” jest zdefiniowany jako zestaw wszystkich plików, które zostały niedawno popełnione i mają być popełnione następne. Na koniec „działający katalog” odnosi się do zestawu plików z całego systemu plików, w którym obecnie pracujesz.

Po dowiedzeniu się o tych terminologiach, teraz bardzo łatwo będzie zrozumieć różnicę między operacją „Git Reset” i „Git Reset -hard”. Jak już powiedzieliśmy, istnieje wiele opcji, które można wykonać w pliku przesłanym na git, podobnie „git reset” jest zdefiniowane jako domyślna operacja, z którą możesz cofnąć ostatnie zatwierdzenie lub zmianę, którą dokonałeś na temat do aktualny dokument. Teraz ta operacja zawiera pięć różnych opcji, a mianowicie: twarde, miękkie, połączone, mieszane i zatrzymują.

W zależności od opcji wybranej lub używanej z poleceniem „Git Reset”, otrzymasz inny poziom „cofnięcia”. Operacja „resetowania git” jest uważana za najskuteczniejszą operację, jeśli chcesz całkowicie pozbyć się swojego ostatniego zatwierdzenia. Oznacza to, że po wykonaniu tej operacji uleczy się głowa twojego pliku, ja.mi., Nie będzie już wskazywać na twoje ostatnie zatwierdzenie. Nie tylko to, ale również wyczyści twoje ostatnie zatwierdzenie z twojego indeksu, a nawet zmieni obecny katalog roboczy.

Z drugiej strony, jeśli użyjesz jakiejkolwiek innej opcji z poleceniem „Git Reset”, takim jak „miękki”, to zrobienie tego tylko zmieni pozycję głowy. Poza tym nie wprowadzi żadnych zmian w twoim indeksie, ani nie zmieni obecnego katalogu roboczego. Krótko mówiąc, możemy powiedzieć, że „git reset” jest poleceniem, podczas gdy „git reset -hard” to jego odmiana, która jest używana, gdy chcesz zniszczyć wszystkie ślady twojego ostatniego zatwierdzenia.

Wniosek

Przechodząc przez to szczegółowe wyjaśnienie operacji „Git Reset” i „Git Reset -hard”, z łatwością będziesz mógł je odróżnić od teraz. Ponadto ten artykuł poprowadzi Cię, na której opcji musisz użyć z poleceniem „Git Reset” w zależności od konkretnych wymagań.