Jeśli chcesz po prostu zwykły „Czy są jakieś różnice w głowie?”:
git diff-index --quiet HEAD
Jeśli kod wyjścia jest równy 0, to nie było żadnych różnic.
Jeśli chcesz „Jakie pliki zmieniły się od głowy?”:
git diff-index --name-only HEAD
Jeśli chcesz „Jakie pliki zmieniły się od głowy, w jaki sposób zostały one zmienione (dodane, usunięte, zmienione)? „:
git diff-index --name-status HEAD
Dodaj -M
(i -C
) jeśli chcesz zmienić nazwę (i skopiować) wykrywanie.
Te polecenia sprawdzają zarówno zawartość z etapami (co znajduje się w indeksie), jak i pliki w drzewie roboczym. Rozwiązania alternatywne, takie jak git ls-files -m
, będą sprawdzać tylko drzewo robocze względem indeksu (to znaczy będą ignorować wszystkie etapowe (ale niezatwierdzone) treści, które również znajdują się w drzewie roboczym).
Jeśli tylko dbać, aby wiedzieć, czy coś się zmieniło (nie te, które zostały zmienione) patrz [Jak programowo ustalić, czy istnieją uncommited zmiany ?] (http://stackoverflow.com/q/3878624/193688) –