Lista Git z plikami tymczasowymi

112

Przygotowałem wiele plików za pomocą git add, teraz chcę zobaczyć wszystkie pliki, które wystawiłem, bez plików nieśledzonych lub zmienionych, ale niestacjonarnych .

W jaki sposób mogę to zrobić? Używając git diff --cached, widzę zmiany w tym, co właśnie wystawiłem. Więc spróbowałem użyć, git status --cachedale to --cachedniestety nie działa git status.

Timon de Groot
źródło
4
proste wpisanie git statusdaje listę plików przygotowanych, listę zmodyfikowanych, ale niestabilnych plików oraz listę plików, które nie są śledzone.
houtanb
podobny do: stackoverflow.com/questions/1587846/…
rickfoosusa
@houtanb, git statuspokazuje różnicę . (Nie pokazuje wszystkich przygotowanych plików).
Pacerier

Odpowiedzi:

199

Najlepszym sposobem na to jest uruchomienie polecenia:

git diff --name-only --cached

Po przejrzeniu instrukcji prawdopodobnie znajdziesz:

--name-only
    Show only names of changed files.

A na przykładowej części instrukcji:

git diff --cached
    Changes between the index and your last commit.

W połączeniu otrzymujesz changes between the index and your last commitiShow only names of changed files.

Aktualizacja: --stagedjest również dostępna jako alias --cachedpowyżej w nowszych wersjach git.

Timon de Groot
źródło
13
Jest to bardzo przydatne, ponieważ pozwala uzyskać listę nazw plików, które możesz następnie (w moim przypadku) przesłać do lintera w haku przed zatwierdzeniem.
morsa
5
Jeśli dodajesz pliki za pomocą git add -N [files], obejmuje to również te, nawet jeśli nie są one jeszcze przygotowane do zatwierdzenia. W związku z tym nie jest to dokładnie to, czego oczekujemy od punktu zaczepienia przed zatwierdzeniem.
Pistos
ponownie „ ostatnie zatwierdzenie ”; Zwodniczy. Lepiej powiedzieć, że git diff --cachedjest skrótemgit diff --cached head
Pacerier