Comment afficher les modifications non validées dans Git et certains différences Git en détail

202

Comment afficher les modifications non validées dans Git?

J'ai STFW'ed , et ces commandes ne fonctionnent pas:

teyan@TEYAN-THINK MINGW64 /d/nano/repos/PSTools/psservice (teyan/psservice)
$ git status
On branch teyan/psservice
Your branch is up-to-date with 'origin/teyan/psservice'.
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   psservice.c
        modified:   psservice.vcxproj.filters


teyan@TEYAN-THINK MINGW64 /d/nano/repos/PSTools/psservice (teyan/psservice)
$ git diff

teyan@TEYAN-THINK MINGW64 /d/nano/repos/PSTools/psservice (teyan/psservice)
$ git diff master
fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
TD_Yan
la source

Réponses:

370

Comment afficher les modifications non validées dans Git

La commande que vous recherchez est git diff.

git diff - Afficher les changements entre les validations, la validation et l'arborescence de travail, etc.


Voici quelques-unes des options qu'il expose que vous pouvez utiliser

git diff(pas de paramètres)
Affiche les différences entre votre répertoire de travail et l'index.

git diff --cached:
Affiche les différences entre l' index et HEAD (validation actuelle).

git diff HEAD:
Affichez les différences entre votre répertoire de travail et la HEAD.

git diff --name-only
Afficher uniquement les noms des fichiers modifiés.

git diff --name-status
Afficher uniquement les noms et l'état des fichiers modifiés.

git diff --color-words
Diff mot à mot au lieu de ligne par ligne.

Voici un exemple de sortie pour git diff --color-words:

entrez la description de l'image ici


entrez la description de l'image ici

CodeWizard
la source
2
Lorsque vous voyez l'invite deux-points à la fin, cela signifie que git a montré la première page - appuyez sur Entrée pour parcourir les autres modifications (comme vous pouvez avec le fichier cat | more)
Pointeur NULL
42

Vous avez déjà mis en scène les modifications (probablement en exécutant git add), donc pour obtenir leur différence, vous devez exécuter:

git diff --cached

(Une plaine git diffaffichera uniquement les modifications non mises en scène.)

Par exemple: Exemple d'utilisation de git diff en cache

Aasmund Eldhuset
la source
0

Pour moi, la seule chose qui a fonctionné est

git diff HEAD

y compris les fichiers intermédiaires, git diff --cachedn'affiche que les fichiers intermédiaires.

Aleksandar Pavić
la source