Question

Existe-t-il une option --staged (alias --cached) pour comparer les fichiers d'une réserve git ?

Ici, je compare le commit le plus récent avec un fichier intermédiaire (j'utilise la syntaxe explicite @{}, mais je sais que @{0} peut être déduit) :

git diff stash@{0}:spec/blueprints.rb HEAD:spec/blueprints.rb

Et ici, je compare le fichier caché avec ce qui se trouve sur le disque :

git diff stash@{0}:spec/blueprints.rb spec/blueprints.rb

Comment puis-je comparer ce qui est actuellement mis en scène avec ce qui est dans la réserve ?Cela ne fonctionne pas :

git diff --staged stash@{0}:spec/blueprints.rb spec/blueprints.rb
Était-ce utile?

La solution

git diff --cached 'stash@{0}' -- spec/blueprints.rb

...Il est possible que les guillemets ne soient pas nécessaires, mais vous ne savez jamais à quel point votre shell peut vous surprendre.

Autres conseils

:<n>:<path>, e.g. :0:README, :README

Un deux-points, éventuellement suivi d'un numéro d'étape (0 à 3) et un deux-points, suivi d'un chemin, nomment un objet blob dans l'index au chemin donné.Un numéro d'étape manquant (et les deux-points qui le suivent) désigne une entrée d'étape 0.Lors d'une fusion, l'étape 1 est l'ancêtre commun, l'étape 2 est la version de la branche cible (généralement la branche actuelle) et l'étape 3 est la version de la branche qui est fusionnée.

depuis git help rev-analyser

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top