Git Liste der bereitgestellten Dateien

112

Ich habe viele Dateien mit inszeniert git add bereitgestellt , jetzt möchte ich alle Dateien anzeigen, die ich bereitgestellt habe, ohne nicht verfolgte Dateien oder geänderte, aber nicht bereitgestellte Dateien.

Wie mache ich das? Bei der Verwendung git diff --cachedkann ich die Änderungen von dem sehen, was ich gerade inszeniert habe. Also habe ich es versucht, git status --cachedaber das --cachedfunktioniert leider nichtgit status .

Timon de Groot
quelle
4
Durch einfaches Eingeben erhalten git statusSie eine Liste der bereitgestellten Dateien, eine Liste der geänderten, jedoch nicht bereitgestellten Dateien und eine Liste der nicht verfolgten Dateien.
Houtanb
ähnlich wie: stackoverflow.com/questions/1587846/…
rickfoosusa
@houtanb, git statuszeigt dir einen Unterschied. (Es werden nicht alle bereitgestellten Dateien angezeigt.)
Pacerier

Antworten:

198

Der beste Weg, dies zu tun, ist das Ausführen des Befehls:

git diff --name-only --cached

Wenn Sie das Handbuch überprüfen, werden Sie wahrscheinlich Folgendes finden:

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

Und zum Beispielteil des Handbuchs:

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

Zusammen erhalten Sie das changes between the index and your last commitundShow only names of changed files.

Update: --stagedist auch als Alias ​​für --cachedoben in neueren Git-Versionen verfügbar .

Timon de Groot
quelle
13
Dies ist sehr nützlich, da Sie so eine Liste von Dateinamen abrufen können, die Sie dann (in meinem Fall) in einem Pre-Commit-Hook an einen Linter weiterleiten können.
Walross
5
Wenn Sie Dateien mit hinzufügen git add -N [files], schließt dies auch diese ein, obwohl sie noch nicht für das Festschreiben bereitgestellt wurden. Als solches ist es nicht genau das, was wir für einen Pre-Commit-Hook wollen.
Pistos
re " last commit "; Irreführend. Besser zu sagen git diff --cachedist kurz fürgit diff --cached head
Pacerier