Einzelne Zeilen committen: präzise Commits mit Line-Staging
Wie Du nur Teile einer Änderung stagst und so in sich geschlossene Commits baust, die leichter zu prüfen und zurückzunehmen sind.

Warum ganze Dateien oft zu grob sind
Beim Arbeiten sammeln sich in einer Datei schnell mehrere unabhängige Änderungen an. Ein behobener Fehler, eine kleine Umbenennung, ein schneller Debug-Ausdruck, den Du eigentlich nicht committen willst. Wenn Du nur ganze Dateien stagen kannst, landet all das im selben Commit. Die Historie wird unübersichtlich, und ein späteres Zurückrollen trifft immer mehrere Dinge auf einmal.
Gute Commits erzählen dagegen eine klare Geschichte. Jeder Commit macht genau eine Sache. Genau dafür gibt es das Stagen einzelner Zeilen.
Was Zeilen-Staging bedeutet
Zeilen-Staging, auch partielles Stagen genannt, heißt, dass Du nicht die ganze Datei stagst, sondern nur ausgewählte Zeilen oder Blöcke einer Änderung. So baust Du gezielt einen Commit, der genau eine Sache tut, und lässt den Rest im Arbeitsverzeichnis liegen, bis er an der Reihe ist.
Technisch trennt Git eine Änderung in Blöcke (Hunks). Zeilen-Staging geht noch feiner und lässt Dich innerhalb eines Blocks einzelne Zeilen auswählen.
Warum in sich geschlossene Commits so wertvoll sind
Ein Commit, der nur eine Sache tut, ist leichter zu lesen, leichter zu prüfen und leichter rückgängig zu machen. Wenn sich später herausstellt, dass eine Änderung ein Problem war, kannst Du genau diesen einen Commit zurücknehmen, ohne zusammenhanglose andere Änderungen mitzureißen. Auch beim Cherry-Picken auf einen anderen Branch zahlt sich das aus, weil Du gezielt genau die eine Änderung überträgst.
Zeilen stagen mit Spire
In Spire wählst Du im Diff direkt die Zeilen aus, die in den nächsten Commit sollen, über die Auswahl am Zeilenrand. Du kannst einzelne Zeilen antippen oder mit der Umschalttaste einen Bereich innerhalb eines Blocks aufziehen. Nur das Ausgewählte wird gestaged, der Rest bleibt unangetastet. Umgekehrt lassen sich einzelne Zeilen genauso gezielt wieder aus der Auswahl nehmen oder verwerfen. Weil Spire nativ auf dem Mac läuft, bleibt die Auswahl auch bei großen Diffs flüssig.
Ein typischer Ablauf
- Sieh Dir die geänderte Datei im Diff an und erkenne die verschiedenen, unabhängigen Änderungen.
- Wähle am Zeilenrand nur die Zeilen aus, die zur ersten Sache gehören.
- Stage die Auswahl und schreib einen Commit, der genau diese eine Sache beschreibt.
- Wiederhole das für die nächste unabhängige Änderung in derselben Datei.
- Was Du gar nicht behalten willst, etwa einen Debug-Ausdruck, kannst Du gezielt verwerfen.
Kurz gesagt
- Ganze Dateien stagen vermischt oft mehrere Änderungen.
- Zeilen-Staging baut in sich geschlossene Commits.
- Solche Commits sind leichter zu prüfen und zurückzunehmen.
- In Spire wählst Du die Zeilen direkt am Zeilenrand aus.