Von Gast (nicht überprüft) , 29 April 2026

Übersicht

git add [-p] [-A] [-u] [--] [<pathspec>...]

Beschreibung

Der git add-Befehl bewegt Änderungen aus Ihrem Working Tree in die Staging Area (auch Index genannt). Die Staging Area ist ein Snapshot dessen, was in den nächsten Commit fließen wird. Indem Sie Änderungen explizit stagen, lässt Git Sie Commits zusammenstellen, die genau die Arbeit enthalten, die Sie aufzeichnen wollen — auch wenn Ihr Working Tree andere unzusammenhängende laufende Bearbeitungen hat.

git add kann ganze Dateien, Teile von Dateien (mit -p) oder Verzeichnisse stagen. Es committet nichts; es aktualisiert nur den Index. Der häufigste Workflow ist: bearbeiten, git status, git add, git commit. git add zu meistern, besonders seine interaktiven Modi, ist eine der besten Möglichkeiten, Ihre Commit-Historie lesbar und leicht reviewbar zu machen.

Im täglichen Einsatz integriert sich git add eng mit Shell-Aliasen, Editor-Plugins und Continuous Integration. Power-User fügen oft Aliase hinzu, die Flags kombinieren, die sie immer übergeben, oder wickeln den Befehl in Skripte, die Teamkonventionen durchsetzen. Die Ausgabeformatierung kann über Git-Config angepasst werden — Pretty-Formate, Farbschemata und Pager-Verhalten sind alle einstellbar. Wenn etwas schiefgeht, ist der erste Diagnoseschritt üblicherweise, den Befehl erneut mit GIT_TRACE=1 in der Umgebung auszuführen, was die zugrunde liegenden Plumbing-Aufrufe offenlegt. Für ungewöhnliche Situationen öffnet die --help-Ausgabe (git add --help) die vollständige Manpage mit Details zu jeder Option, einschließlich solcher, die in alltäglichen Workflows selten verwendet werden, aber für Debugging oder Skripting im großen Maßstab essentiell sind.

Zu verstehen, wie git add mit dem Rest von Gits Datenmodell interagiert — der Objektdatenbank, dem Index, Refs und dem Working Tree — zahlt sich aus. Jeder Befehl operiert auf einer Teilmenge dieser Stücke, und zu wissen, welche er berührt, hilft Ergebnisse vorherzusagen und sich von Fehlern zu erholen. Das Lesen der offiziellen Git-Dokumentation neben praktischer Übung in einem Wegwerf-Repository ist der schnellste Weg, die Nuancen zu verinnerlichen. Die meisten Produktionsprobleme mit Git rühren von einer von drei Ursachen: überraschendem Standardverhalten, partiellen Netzwerkoperationen oder dem Umschreiben bereits geteilter Historie. Ein funktionierendes mentales Modell der Nebenwirkungen von git add hilft, alle drei zu vermeiden.

Häufige Optionen

OptionBeschreibung
-A, --allStaged alle Änderungen im Working Tree, einschließlich Löschungen und neuer Dateien.
-u, --updateStaged nur Modifikationen und Löschungen verfolgter Dateien — ignoriert neue Dateien.
-p, --patchWählt interaktiv Hunks von Änderungen zum Stagen aus.
-n, --dry-runZeigt, was gestaged würde, ohne tatsächlich zu stagen.
-f, --forceFügt Dateien hinzu, auch wenn sie auf .gitignore passen.
-i, --interactiveÖffnet eine menügesteuerte Oberfläche zum Stagen.
--intent-to-add / -NZeichnet die Absicht auf, eine Datei hinzuzufügen, sodass deren Diff erscheint.

Beispiele

git add README.md src/main.c
    # Zwei bestimmte Dateien stagen

    git add -A
    # Alles stagen: neue, geänderte und gelöschte Dateien

    git add -p
    # Stücke interaktiv überprüfen und Stück für Stück stagen

    git add 'src/**/*.js'
    # Alle JavaScript-Dateien unter src per Pathspec stagen

Häufige Fehler

Blindes git add . staget oft Dateien, die Sie nicht beabsichtigt haben — Logdateien, Build-Artefakte, geheime Schlüssel. Verwenden Sie zuerst git status und ziehen Sie -p für sensible Änderungen in Betracht. Eine weitere häufige Verwirrung: git add -u erfasst keine neuen Dateien, während git add . dies tut. Wenn Sie eine Datei nach dem Stagen erneut ändern, sind diese folgenden Bearbeitungen nicht gestaged, bis Sie git add erneut ausführen.

Verwandte Befehle

git commit, git status, git restore, git reset