2013-02-06 16 views
7

Gemäß git docs, git stash list akzeptiert alle Optionen, die Sie an git log übergeben können.Git: Liste nur die Dateien für alle Taschen geändert

Was ich tun möchte, ist die --stat Option zu git stash list zu übergeben. Dies funktioniert, aber es scheint, jede Datei im Repo zu zeigen.

Jetzt weiß ich, dass es eine git stash show gibt, die nur die Dateien zeigt, die geändert wurden, aber ich muss dann manuell durchgehen und jedes überprüfen.

Gibt es eine Möglichkeit, Git bekommen, um mir die Liste der Verstecke zu zeigen, mit nur die Änderungen, die für jeden einzelnen verstaut wurden?

Antwort

8

Mag ich denke:

git stash list | while IFS=: read STASH ETC; do echo "$STASH: $ETC"; git diff --stat $STASH~..$STASH --; done 

(Getestet in Git Bash msysGit.)

git stash show $STASH statt git diff --stat $STASH~..$STASH auch funktionierte, aber war unerträglich langsam.

3

git stash show -p zu zeigen, das Versteck in Patch-Form ist, was ich glaube, dass Sie fragen.

Für einen bestimmten Stash könnten Sie Folgendes tun: git stash show -p [email protected]{x} wo x ist das Versteck # auf dem Stapel.

+0

Oh, tut mir leid, wenn mein Beitrag verwirrend war. Ich möchte das gleiche Verhalten wie 'git stash show' (oder' git log --stat') aber ohne 1 zu 1 angeben zu müssen. –

+0

Sie müssen ein Skript erstellen –

+0

Auch, um nur die Dateien für ein bestimmtes Versteck aufzulisten, es wäre 'git stash show -p stash @ {x} - nur-name' –

Verwandte Themen