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>...]'

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


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


0

Für mich hat nur funktioniert

git diff HEAD

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.