Development

Interview mit Tobias Günther (fournova)

Fehler gemacht? Vertraue auf Git
Keine Kommentare

Im täglichen Code-Handling sind Fehler nicht vermeidbar. Doch „Fehler können rückgängig gemacht werden“, sagt Tobias Günther. Insbesondere wenn man das populäre Versionsverwaltungssystem Git benutzt, gibt es viele Möglichkeiten, um z. B. Commits rückgängig zu machen.

Auf der letzten IPC zeigte Tobias Günther (fournova Software GmbH) die theoretischen Grundlagen von Git und stellte die entsprechenden Befehle und Tools aus der Praxis wie das Rückgängigmachen, Wiederherstellen und Reparieren vor. In seinem praktischen Beispiel kam sowohl die GUI „Tower“ aus seiner Software-Schmiede fournova zum Einsatz, als auch Git auf der Kommandozeile. Wir haben uns noch einmal mit Tobias Günther zu diesem Thema unterhalten.

Entwickler.de: Einer der größten Vorteile von Git ist es, dass fast alles rückgängig gemacht werden kann. Wie groß kann der Aufwand dafür im schlimmsten Fall werden?

Tobias Günther: Die meisten Fehler und Problemchen kann man sehr einfach beheben. Vor allem gilt: je schneller man bemerkt, dass etwas schief gegangen ist, desto besser und einfacher!

Entwickler.de: Wie sieht es z. B. mit Commits aus, die sich in gelöschten Branches befinden?

Tobias Günther: Grundsätzlich (und das ist sehr beruhigend zu wissen) löscht Git nur sehr zaghaft. Erst nach 30 Tagen greift die sogenannte „Garbage Collection“ und räumt auf. Allerdings natürlich nur Objekte, die nirgends mehr referenziert sind. Meist ist man also noch eine ganze Weile in der Lage, Dinge rückgängig zu machen!

Entwickler.de: Gibt es auch Dinge bei Git, die nicht mehr wiederhergestellt werden können?

Tobias Günther: Während man bei Veränderungen an der Commit History auch das Undo des Undo „undo-en“ kann, wird es bei lokalen Änderungen schwer: wenn man solche Änderungen, die ja niemals ins Git-Repository committed wurden, verwirft, sind sie in der Tat weg.

Entwickler.de: Was sind die wichtigsten Git-Werkzeuge beim Thema “Rückgängig machen“ und „Wiederherstellen“?

Tobias Günther: Da gibt es ein paar wichtige Helferlein: „git checkout“ hilft beim Verwerfen lokaler Veränderungen, mit „git reset“ kann man das gesamte Projekt in frühere Stände versetzen. Etwas erfahrenere Nutzer haben zusätzlich vielleicht Interesse an Tools wie „Reflog“ oder „Interactive Rebase“ – ein Überblick ist in unserem kostenlosen „First Aid Kit for Git“ zu finden.

Entwickler.de: Was ist, wenn große Projekte im Team umgesetzt werden. Gibt es einen „Königsweg“, um Änderungschaos zu vermeiden und die Nachvollziehbarkeit jederzeit zu gewährleisten?

Tobias Günther: Die goldene Regel in der Versionskontrolle ist und bleibt, eher klein und granular zu committen! Nur was wirklich zu ein und demselben Thema gehört, sollte auch in ein und denselben Commit. Damit erhöht man ganz enorm die Chancen, dass alle im Projekt den Überblick bewahren.

Vielen Dank für dieses Interview!

Tobias Günther ist Autor des Buches „Learn Version Control with Git“ sowie zahlreicher Artikel und Tutorials im Internet. Er ist zudem Gründer und CEO der fournova Software GmbH, die den Git-Desktop-Clients Tower entwickelt hat.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -