Grundlagen von Git Commit verstehen
Änderungen zu committen ist ein zentraler Arbeitsschritt in Git. Dabei wird der aktuelle Stand deines Projekts gespeichert, indem gestagte Änderungen zusammen mit einer beschreibenden Nachricht festgehalten werden. Ob du einen Tippfehler korrigierst, eine neue Funktion hinzufügst oder alten Code entfernst – gut strukturierte Commits helfen dir, den Fortschritt nachzuvollziehen, effektiv mit anderen zusammenzuarbeiten und eine saubere Versionshistorie zu behalten. In diesem Beitrag erfährst du, wie Standard-Commits funktionieren, wie man den Staging-Schritt überspringt und wie sich vorherige Commits nachträglich ändern lassen.
Kurzfassung
Nachfolgend findest du die gängigsten Befehle für schnelle Commits.
# Alle geänderten Dateien zum Staging hinzufügen
$ git add .
# Commit mit Nachricht erstellen
$ git commit -m "Beschreibe, was dieser Commit macht"
# Änderungen an verfolgten Dateien ohne Staging committen
$ git commit -a -m "Staging überspringen und geänderte Dateien committen"
# Letzte Commit-Nachricht aktualisieren
$ git commit --amend -m "Neue Commit-Nachricht"
Häufig genutzte Optionen für Git Commit
Befehl | Beschreibung |
---|---|
git add <file> | Stellt eine bestimmte Datei für den nächsten Commit bereit |
git add . | Stellt alle geänderten und neuen Dateien im aktuellen Verzeichnis bereit |
git commit -m „message“ | Commit aller gestagten Änderungen mit einer Nachricht |
git commit -a -m „message“ | Commit aller geänderten, bereits verfolgten Dateien ohne Staging |
git commit –amend | Ersetzt den letzten Commit durch neuen Inhalt oder eine neue Nachricht |
Git Commit ohne Staging
Die Option -a
ermöglicht es, alle geänderten, bereits verfolgten Dateien direkt zu committen, ohne vorher git add
auszuführen. Das ist praktisch, wenn du den Staging-Schritt überspringen, aber trotzdem deine Änderungen sichern möchtest.
Befehls-Syntax
git commit -a -m "Deine Commit-Nachricht"
- -a: Stellt alle geänderten, verfolgten Dateien automatisch bereit.
- -m: Fügt direkt eine Commit-Nachricht hinzu.
Befehls-Demonstration
Lege eine Datei unter Git-Kontrolle an.
$ echo "Hello" > demo.txt
Datei zum Staging hinzufügen.
$ git add demo.txt
Ersten Commit durchführen.
$ git commit -m "Initial commit"
Datei ohne Staging ändern.
$ echo "Zweite Zeile zu demo.txt hinzugefügt" >> demo.txt
Änderungen direkt mit -a
committen.
$ git commit -a -m "Zweite Zeile zu demo.txt hinzugefügt"
Commit-Historie prüfen.
$ git log --oneline
Dieses Vorgehen überspringt git add
, funktioniert aber nur bei bereits verfolgten Dateien. Neue Dateien müssen weiterhin zuerst gestagt werden.
Git Commit nachträglich ändern
Mit der Option --amend
kannst du deinen letzten Commit anpassen. Dies ist nützlich, wenn du vergessene Änderungen hinzufügen, Tippfehler in Nachrichten korrigieren oder die Historie vor dem Push bereinigen möchtest.
Befehls-Syntax
git commit --amend
- –amend: Ersetzt den vorherigen Commit durch einen neuen und erlaubt Änderungen an Nachricht, Inhalt oder beidem.
- -m: (Optional) Neue Commit-Nachricht inline angeben, statt den Editor zu öffnen.
Befehls-Demonstration
Beispiel 1: Eine vergessene Datei zum letzten Commit hinzufügen.
Fehlende Datei zum Staging hinzufügen.
$ git add file2.txt
Letzten Commit anpassen.
$ git commit --amend
Daraufhin öffnet sich dein Editor, um die Commit-Nachricht zu ändern (oder unverändert zu lassen).
Beispiel 2: Commit-Nachricht ändern, ohne Dateien zu verändern.
$ git commit --amend -m "Commit-Nachricht aktualisiert"
Damit wird nur die letzte Commit-Nachricht angepasst, ohne den Inhalt zu verändern.
Wichtiger Hinweis
Vermeide es, Commits zu ändern, die bereits in ein gemeinsames Remote-Repository gepusht wurden. Dadurch wird die Historie überschrieben, was zu Konflikten mit Teammitgliedern führen kann.
Fazit
In diesem Tutorial hast du gelernt, wie du Git Commits effektiv einsetzt. Wir haben uns das Staging, das Erstellen von Commits, das Überspringen des Staging-Schritts mit -a
sowie das Anpassen des letzten Commits mit --amend
angesehen. Diese Vorgehensweisen helfen dir, eine saubere Historie zu bewahren und die Zusammenarbeit zu verbessern. Mit diesen Methoden bist du in der Lage, klare Commit-Nachrichten zu verfassen, deinen Git-Workflow zu optimieren und eine leicht nachvollziehbare Versionshistorie aufzubauen.