git status

Definition
Der Befehl git status zeigt den Zustand des Arbeitsverzeichnisses und der Staging Area. Er ermöglicht es Ihnen, zwischengespeicherte Änderungen sowie Dateien anzuzeigen, die nicht von Git verfolgt werden. Die Statusausgabe enthält keine Informationen über den committeden Projektverlauf. Verwenden Sie hierfür den Befehl git log. git status zeigt lediglich an, was bezüglich der Befehle git add und git commit geschieht.
Verwendung
Der Befehl git status listet auf, welche Dateien zwischengespeichert, nicht zwischengespeichert oder nicht verfolgt werden.
git status
git statusHäufige Optionen
| -s oder --short | Ausgabe im Kurzformat. |
|---|---|
| -b oder --branch | Zeigt den Branch und die Tracking-Informationen im Kurzformat an. |
| --porcelain | Ausgabe in einem für Skripte einfach zu parsenden Format. Sie bleibt über Git-Versionen hinweg stabil und berücksichtigt nicht die Benutzerkonfiguration. |
| --long | Ausgabe im Langformat (Standard). |
-u[<mode>] --untracked-files[=<mode>] | Zeigt die nicht verfolgten Dateien an. Der Modus-Parameter ist optional und wird verwendet, um die nicht verfolgten Dateien zu verwalten. Mögliche Optionen sind: no - zeigt keine nicht verfolgten Dateien an. normal - zeigt nicht verfolgte Dateien und Verzeichnisse an. all - zeigt auch einzelne Dateien in nicht verfolgten Verzeichnissen an. |
--ignore-submodules[=<when>] | Ignoriert Änderungen an Submodulen bei der Suche nach Änderungen. <when> kann "none", "untracked", "dirty" und "all" sein. |
| --ignored | Zeigt ignorierte Dateien an. |
| -z | Beendet Einträge mit NUL. Wenn kein Format angegeben ist, wird das --porcelain-Ausgabeformat verwendet. |
--column[=<options>] --no-column | Zeigt nicht verfolgte Dateien in Spalten an. Wenn keine Option angegeben wird, sind --column und --no-column ohne Optionen äquivalent zu always und never. |
Dateien ignorieren
Nicht verfolgte Dateien können zwei Arten haben: solche, die nicht zum Projekt hinzugefügt und committed wurden, und solche, die Binärdateien wie .pyc, .obj, .exe usw. sind. Wenn Binärdateien in der git status-Ausgabe enthalten sind, können Sie den tatsächlichen Zustand Ihres Repositorys nicht erkennen. Daher fügt Git Pfade in die .gitignore-Datei ein, um diese Dateien zu ignorieren. Die Dateien, die Sie nicht ignorieren möchten, werden in einer separaten Zeile aufgeführt. Das *-Symbol wird als Platzhalter verwendet:
git status: Dateien ignorieren
*.objErklärung
Es ist sehr wichtig, den Zustand des Repositorys zu überprüfen, bevor Sie Änderungen committen. Das folgende Beispiel zeigt den Repository-Status vor und nach dem Staging und Committen:
git status Beispiel
# Edit w3docs.txt
git status
# w3docs.txt is listed under "Changes not staged for commit"
git add w3docs.txt
git status
# w3docs.txt is listed under "Changes to be committed"
git commit
git status
# nothing to commit (working directory clean)Der erste Status zeigt die nicht zwischengespeicherte Datei. Im zweiten Status wird die git add-Aktion ausgeführt. Die dritte Statusausgabe zeigt, dass nichts zu committen ist.
Praxis
Welche Informationen liefert der Befehl 'git status'?