/ / Status Git nie pokazuje zmian, ale git diff robi - git

Status Gita nie pokazuje zmian, ale git diff robi - git

Aby móc zmienić gałąź w Git, musiałem przygotować wszystkie zmodyfikowane pliki. Gdy to zrobię, mogę zmienić gałąź. Jednak teraz, jeśli zrobię git status nie wykrywa zmian, ale jeśli to zrobię git diff HEAD^ HEAD lub git diff HEAD^ zmiany są pokazane. Jak mogę się z tego zrezygnować? : S

Odpowiedzi:

2 dla odpowiedzi № 1

Nie tylko zainscenizowałeś zmodyfikowane pliki, ale wygląda na to, że utworzyłeś także zatwierdzenie. HEAD^ odnosi się do zatwierdzenia, które jest pierwszym rodzicem HEAD, i HEAD jest bieżącym zatwierdzeniem, zwykle wierzchołkiem gałęzi. Więc git diff HEAD^ HEAD pokazuje różnicę ostatniego zatwierdzenia. Jest to podobne do łatki wyświetlanej przez git show HEAD. git diff HEAD^ pokazuje różnicę między twoim drzewem roboczym a drzewem, które odpowiada HEAD^i powinno to być równoważne z git diff HEAD^ HEAD jeśli nie dokonałeś żadnych modyfikacji w swoim drzewie roboczym od czasu ostatniego zatwierdzenia.

Jeśli chcesz wrócić i „anulować” swoje ostatnie zatwierdzenie, możesz użyć następującego polecenia:

git reset HEAD^

Spowoduje to zresetowanie bieżącej gałęzi do HEAD^, bez modyfikowania działającego drzewa.