2013-02-06 16 views
7

Secondo lo git docs, git stash list accetterà tutte le opzioni che potresti passare a git log.git: elenca solo i file modificati per tutte le armature

Quello che voglio fare è passare l'opzione --stat a git stash list. Funziona, tuttavia sembra che mostri tutti i file nel repository.

Ora, so che c'è uno git stash show che mostrerà solo quei file che sono stati modificati, ma ho quindi bisogno di passare e ispezionare manualmente ciascuno di essi.

C'è un modo per ottenere git per mostrarmi l'elenco delle sequenze, con solo le modifiche che sono state nascoste per ognuna?

risposta

8

come non immagino:

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

(Testato in Git Bash msysgit.)

git stash show $STASH invece di git diff --stat $STASH~..$STASH anche funzionava ma era terribilmente lento.

3

git stash show -p per mostrare la presenza di una patch in una patch che credo si stia chiedendo.

Per una scorta specifica, è possibile effettuare le seguenti operazioni: git stash show -p [email protected]{x} dove x è il n. Di scorta nella pila.

+0

Oh, scusa se il mio post è stato confuso. Voglio lo stesso comportamento di 'git stash show' (o' git log --stat') ma senza dover specificare 1 per 1. –

+0

Devi creare uno script –

+0

Inoltre, per elencare semplicemente i file per una specifica sequenza, sarebbe 'git stash show -p stash @ {x} --name-only' –

Problemi correlati