Lebenszyklen¶
Grundsätzlich hat jede Datei (jedes Objekt) im Arbeitsverzeichnis zwei Grund-Zustände:
Tracked - Datei befindet sich in der Staging Area (Index) und ist Git bekannt
Untracked - Datei liegt einfach nur im Arbeitsverzeichnis und ist Git unbekannt
Wenn man die Zustände (hier: Tracked) genauer aufsplittet kann folgende Zustände und Aktionen erkennen:
Lebenszyklen von verfolgten/unverfolgten Git-Inhalten¶
Bitte genauer analysieren und verstehen. Hierfür benötigen wir das
Git-Kommando git status.
Git Status in Kurzdarstellung (Short)
Für das Git-Kommando git status gibt es die kurze
Ausgabevariante git status --short oder git status -s.
Es folgt eine beispielhafte Ausgabe - beachten: (2-Spalter für die Kennzeichnungen)
Spalte 1: Staging Area / Index
Spalte 2: Working Directory / Arbeitsverzeichnis
Beispielhafte Ausgabe:
$ git status -s
M README # geändert im Index
MM Rakefile # geändert - dann add-ed to Index und dort geändert
A lib/git.rb # neue Datei im Index
M lib/simplegit.rb # geändert im Index
?? LICENSE.txt # neue Datei nur im Arbeitsverzeichnis
Kennungen in den Spalten:
? - not tracked / unbekannt
M - Modified / geändert
A - Added / hinzugefügt
Für weitere Infos siehe Git Dokumentation zu Status Ausgaben.
EMPTY = unmodified
M = modified
T = file type changed (regular file, symbolic link or submodule)
A = added
D = deleted
R = renamed
C = copied (if config option status.renames is set to „copies“)
U = updated but unmerged
Beim Einstieg in Git lohnt sich eine ständige Sicht auf den Status der Git-Dokumente.