0%

Wozu Versionsverwaltung dient

Was dir ein Verlauf ermöglicht

„Zu einer alten Version zurückkehren“ ist die Antwort der meisten Menschen auf die Frage, wozu Versionsverwaltung dient. Das stimmt, und es ist der kleinste Teil.

Das bringt dir ein Verlauf tatsächlich.

Du kannst zurückkehren

Du kannst die genauen Dateiversionen abrufen, die in einem verfügbaren Commit aufgezeichnet sind, auch gemeinsam gespeicherte Änderungen an mehreren Dateien. Dateien und Änderungen, die du nie aufgenommen hast, gehören nicht zu dieser Momentaufnahme.

Du kannst auch nur zum Nachsehen zurückgehen, ohne dort zu bleiben. Das ist der Teil, mit dem viele nicht rechnen. Einen Blick auf die Version vom letzten Monat zu werfen, ist etwas Alltägliches mit geringem Risiko, keine Rettungsaktion.

Du kannst sehen, was sich geändert hat

Frage Git nach dem Unterschied zwischen zwei beliebigen Commits. Es zeigt dir genau, welche Zeilen hinzugekommen und welche verschwunden sind.

Diese Fähigkeit macht es überhaupt erst möglich, die Arbeit anderer zu prüfen. Damit prüfst du auch deine eigene Arbeit, bevor du sie festhältst. Das erweist sich als gute Gewohnheit. „Zeig mir alles, was ich gleich committen werde“ deckt erstaunlich viele Fehler auf, etwa Debugging-Zeilen, die du noch löschen wolltest, oder ein Passwort, das du versehentlich in eine Datei getippt hast.

Du kannst herausfinden, wann etwas kaputtging

Das ist im Stillen die wertvollste Fähigkeit. Sie ist am schwersten zu schätzen, bevor sie dir einmal geholfen hat.

Im März funktioniert etwas. Im Juni nicht mehr. Nichts, was du vor dir hast, erklärt warum.

Mit einem Verlauf hast du die Zustände, die du aufgezeichnet hast. Du kannst eine funktionierende Version mit einer fehlerhaften vergleichen, den Commit finden, in dem sich das aufgezeichnete Verhalten geändert hat, seine Nachricht lesen und die geänderten Zeilen untersuchen. Wenn mehrere Änderungen in diesem Commit stecken, musst du womöglich weiter untersuchen, welche das Problem verursacht hat.

Ohne Verlauf versuchst du, ein Programm zu verstehen, dessen Vergangenheit du nicht sehen kannst.

Du kannst ohne Angst arbeiten

Die anderen drei Punkte sind Erleichterungen. Dieser verändert deine Arbeitsweise.

Wenn deine Ausgangsarbeit committet ist, kannst du leichter etwas ausprobieren. Du kannst einen Abschnitt neu schreiben oder etwas scheinbar Überflüssiges entfernen und das Experiment anschließend mit der gespeicherten Version vergleichen. Falls es fehlschlägt, kannst du die aufgezeichneten Dateien wiederherstellen, nachdem du geprüft hast, welche nicht committeten Änderungen du verwerfen möchtest.

Vergleiche das mit einem Projekt ohne Commits. Dort hat jede größere Änderung einen stillen Preis: Wenn das schiefgeht, komme ich vielleicht nicht mehr zurück. Dieser Preis hält dich nicht vom Arbeiten ab. Er lässt dich kleiner und vorsichtiger arbeiten, als du es sonst tun würdest, meist ohne dass du es bemerkst.

Menschen, die mit Git vertraut sind, gehen spürbar mutiger an ihre Arbeit. Das ist keine Frage der Persönlichkeit. Sie haben ein Sicherheitsnetz und wissen genau, wie es funktioniert.

Ein Kollege sagt, Versionsverwaltung sei „eigentlich nur Backup“. Welche Antwort ist am genauesten?

Der ehrliche Haken

Nichts davon geschieht automatisch.

Git beobachtet deinen Ordner nicht und zeichnet deine Arbeit nicht laufend auf. Du entscheidest, wann du einen Commit erstellst, und schreibst die Nachricht. Wenn jemand in einem Projekt etwa einmal pro Stunde bewusst committet, entsteht ein lesenswerter Verlauf. Wenn jemand einmal im Monat mit der Nachricht updates committet, hat das Projekt technisch gesehen einen Verlauf, der dir aber kaum helfen wird.

Die Fähigkeit besteht also nicht nur darin, die Befehle zu kennen. Du entwickelst auch ein Gespür dafür, wann es sich lohnt, einen Arbeitsstand festzuhalten, und was du dazu schreiben solltest. Dieses Gespür wächst durch Übung. Im nächsten Kapitel beginnst du damit, an einem echten Repository.