2267 votes

Voir ce qu'il y a dans une cachette sans l'appliquer

Je vois. aquí vous pouvez appliquer/désappliquer une réserve et même créer une nouvelle branche à partir d'une réserve. Est-il possible de voir simplement ce que contient la réserve sans l'appliquer ?

7 votes

Il n'appelle pas stash une application, il fait référence à l'acte d'appliquer la cachette. Malgré le manque de clarté de la terminologie, la question reste la même.

1 votes

Pour obtenir une sortie diff colorée : git stash show -p stash@{1} >~/.diff && vim ~/.diff (il n'est pas nécessaire que ce soit vim . n'importe quel éditeur de texte, à condition qu'il prenne en charge la coloration syntaxique de l'information. diff sortie).

6 votes

@TrevorBoydSmith ou simplement git stash show -p stash@{1} | view -

3150voto

simont Points 11362

De la man git-stash page :

Les modifications mises de côté par cette commande peuvent être listées avec git stash list, inspectées avec git stash show

show [<stash>]
       Show the changes recorded in the stash as a diff between the stashed state and
       its original parent. When no <stash> is given, shows the latest one. By default,
       the command shows the diffstat, but it will accept any format known to git diff
       (e.g., git stash show -p stash@{1} to view the second most recent stash in patch
       form).

Pour lister les modifications cachées

git stash list

Pour montrer les fichiers modifiés dans la dernière cachette

git stash show

Donc, pour voir le contenu de la cachette la plus récente, exécutez

git stash show -p

Pour afficher le contenu d'une cachette arbitraire, exécutez quelque chose comme

git stash show -p stash@{1}

0 votes

C'est exactement ce que je voulais - merci ! Je me demande pourquoi ce n'est pas sur la page git-scm ?

11 votes

Une fonction très utile que l'on peut envisager est de lister le contenu de toutes les réserves locales : git stash list | awk -F: ‘{ print “\n\n\n\n”; print $0; print “\n\n”; system(“git –no-pager stash show -p ” $1); }’ | less Cela m'a beaucoup aidé dans le passé (nettoyage de piles de réserves).

40 votes

Même commande avec des guillemets fixes et sans passer par less pour que vous puissiez toujours voir la mise en évidence de la différence : git stash list | awk -F: '{ print "\n\n\n\n"; print $0; print "\n\n"; system("git stash show -p " $1); }' Appuyez sur [Q] pour quitter chaque cache.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X