1629 votes

Git diff contre une cachette

Comment puis-je voir les changements de l'onu-accrocher à la de travail en cours de l'arbre? Je voudrais savoir quelles modifications seront apportées avant de les appliquer!

2260voto

Amber Points 159296
git stash show -p stash@{0}

De la git stash pages de manuel:

Par défaut, la commande affiche la diffstat, mais il acceptera toute format connu pour git diff (par exemple, git stash show-p stash@{1} pour afficher la seconde, plus récente cachette sous forme de patch).

378voto

czerasz Points 2135

J'utilise git diff pour comparer la cachette avec n'importe quelle branche.

Vous pouvez utiliser:

git diff stash@{0} master

Pour voir tous les changements par rapport à la branche master.


Ou Vous pouvez utiliser:

git diff --name-only stash@{0} master

Facile à trouver seulement changé les noms de fichier.

123voto

t.heintz Points 442

Si la branche que votre planqué modifications sont fondées sur a changé entre-temps, cette commande peut être utile:

git diff stash@{0}^!

Il compare le ranger à l'encontre de la commettre, il est basé sur.

51voto

Magne Points 2550

Si votre arbre de travail est sale, vous pouvez le comparer à une cachette en premier commettre le sale travail de l'arbre, et ensuite en les comparant à la cachette. Par la suite, vous pouvez annuler la validation avec le sale arbre de travail (puisque vous ne voulez pas vous avoir cette sale commettre dans votre journal de validation).

Vous pouvez également utiliser l'approche suivante pour comparer deux caches les uns avec les autres (dans ce cas, vous placez simplement l'un des caches au premier abord).

  • Engager votre sale arbre de travail:

    git add .
    git commit -m "Dirty commit"
    
  • Diff la cachette avec qui s'engagent:

    git diff stash@{0}
    
  • Puis, par la suite, vous pouvez revenir à la commettre, et de le mettre dans le travail dir:

    git reset --soft 6a38c634
    git reset .
    

NB: 6a38c634 doit être remplacé par la valeur de hachage de la livraison avant de votre sale commettre. Vous trouverez la table de hachage, vous pourrez utiliser à l'aide de la commande git log.

Maintenant que vous avez comparable le sale travail de l'arbre avec votre cachette, et sont de retour à l'endroit où vous étiez au début.

20voto

Rimian Points 7805

Cela fonctionne pour moi sur la version git 1.8.5.2:

git diff stash HEAD

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