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

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:

Analyse als Kommentierungen zu den Ausgabezeilen von git status -s
$ 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.