So zeigen Sie nicht festgeschriebene Änderungen in Git und einige Git-Unterschiede im Detail an

202

Wie zeige ich nicht festgeschriebene Änderungen in Git an?

Ich STFW'ed , und diese Befehle funktionieren nicht:

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
quelle

Antworten:

370

So zeigen Sie nicht festgeschriebene Änderungen in Git an

Der Befehl, den Sie suchen, ist git diff.

git diff - Zeigen Sie Änderungen zwischen Commits, Commit und Arbeitsbaum usw. An


Hier sind einige der verfügbaren Optionen, die Sie verwenden können

git diff(keine Parameter)
Drucken Sie die Unterschiede zwischen Ihrem Arbeitsverzeichnis und dem Index aus.

git diff --cached:
Drucken Sie die Unterschiede zwischen Index und HEAD aus (aktuelles Commit).

git diff HEAD:
Drucken Sie die Unterschiede zwischen Ihrem Arbeitsverzeichnis und dem HEAD aus.

git diff --name-only
Nur Namen geänderter Dateien anzeigen.

git diff --name-status
Nur Namen und Status geänderter Dateien anzeigen.

git diff --color-words
Wort für Wort diff statt Zeile für Zeile.

Hier ist ein Beispiel der Ausgabe für git diff --color-words:

Geben Sie hier die Bildbeschreibung ein


Geben Sie hier die Bildbeschreibung ein

CodeWizard
quelle
2
Wenn Sie die Doppelpunkt-Eingabeaufforderung am Ende sehen, bedeutet dies, dass git die erste Seite angezeigt hat - drücken Sie die Eingabetaste, um die anderen Änderungen zu durchlaufen (wie Sie es mit cat file | more
tun
42

Sie haben die Änderungen bereits bereitgestellt (vermutlich durch Ausführen git add). Um ihren Unterschied zu erhalten, müssen Sie Folgendes ausführen:

git diff --cached

(Eine Ebene git diffzeigt nur nicht bereitgestellte Änderungen an.)

Beispielsweise: Beispiel git diff zwischengespeicherte Verwendung

Aasmund Eldhuset
quelle
0

Für mich hat nur funktioniert

git diff HEAD

einschließlich der bereitgestellten Dateien werden git diff --cachednur bereitgestellte Dateien angezeigt.

Aleksandar Pavić
quelle