Testen von nicht in die Staging-Area aufgenommenen Dateien
In diesem Schritt werden wir untersuchen, wie Git Änderungen an einer verfolgten Datei behandelt, die noch nicht in die Staging-Area (Zwischenspeicher) aufgenommen wurden. Diese werden "unstaged" (nicht in die Staging-Area aufgenommene) Änderungen genannt.
Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project/my-time-machine
befinden.
Wir haben zuvor future_plans.txt
erstellt und in die Staging-Area aufgenommen. Jetzt fügen wir dieser Datei eine weitere Zeile hinzu, ohne die Änderung in die Staging-Area aufzunehmen:
echo "Plan 2: Invent a self-folding laundry machine" >> future_plans.txt
Der >>
-Operator hängt den Text an die bestehende Datei an, anstatt sie zu überschreiben.
Jetzt überprüfen wir erneut den Status unseres Repositorys:
git status
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: future_plans.txt
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: future_plans.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
message.txt
Beachten Sie den neuen Abschnitt: "Changes not staged for commit:" (Änderungen, die nicht für den Commit in die Staging-Area aufgenommen wurden). Dies zeigt uns, dass Git Änderungen in future_plans.txt
erkennt, die sich von der Version in der Staging-Area unterscheiden. Die Datei wird als "modified" (geändert) aufgeführt.
Dies ist ein Schlüsselkonzept in Git: Das Arbeitsverzeichnis (wo Sie Änderungen vornehmen) ist vom Staging-Area getrennt. Sie können Änderungen in Ihrem Arbeitsverzeichnis haben, die noch nicht in die Staging-Area aufgenommen wurden.
Um den Unterschied zwischen dem Arbeitsverzeichnis und der Staging-Area zu sehen, können Sie git diff
ohne zusätzliche Optionen verwenden:
git diff
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
diff --git a/future_plans.txt b/future_plans.txt
index a1b2c3d..e4f5g6h 100644
--- a/future_plans.txt
+++ b/future_plans.txt
@@ -1 +1,2 @@
Plan 1: Build a bigger time machine
+Plan 2: Invent a self-folding laundry machine
Diese Ausgabe zeigt den Unterschied zwischen der Version von future_plans.txt
in der Staging-Area (die nur "Plan 1" enthält) und der Version in Ihrem Arbeitsverzeichnis (die jetzt sowohl "Plan 1" als auch "Plan 2" enthält). Das +
-Zeichen zeigt wiederum die hinzugefügte Zeile an.
Das Verständnis des Unterschieds zwischen in die Staging-Area aufgenommenen und nicht aufgenommenen Änderungen sowie die Möglichkeit, sie mit git status
und git diff
anzuzeigen, ist grundlegend für die effektive Nutzung von Git.
Drücken Sie q
, um die Diff-Ansicht zu verlassen.