Kolumne: Lagebericht Eclipse-IDE

Getting Git done mit Eclipse

Lars Vogel

Das Versionsverwaltungssystem Git ist weiterhin auf dem Vormarsch. Natürlich gibt es noch Kunden, die Apache Subversion (SVN) oder Perforce einsetzen. Wenn man sie aber darauf anspricht, hat man das Gefühl, dass manche sich zumindest ein bisschen dafür schämen. Außerdem erfährt man im Kundengespräch, dass viele die Migration auf Git bereits planen. Da die Verwendung der Git Command Line nun aber nicht jedermanns Sache ist, geht es in dieser Ausgabe um eine gute Alternative: das Eclipse Git Tooling.

Das Git Tooling von Eclipse wird im EGit- und im JGit-Projekt entwickelt. Diese sind nach Meinung des Autors Vorzeigeprojekte, was den Geist eines Open-Source-Projekts angeht: Beiträge aus der Community werden sehr schnell einem Review unterzogen und integriert. Das Team geht zudem schnell, freundlich und kompetent auf Verbesserungsvorschläge ein, sodass man mit Fug und Recht behaupten kann, dass die Mitarbeit hier Spaß macht. Die beiden Entwickler, die das Projekt zurzeit primär vorantreiben, sind übrigens Thomas Wolf und Matthias Sohn.

Das aktuelle Eclipse Git Tooling

Das Eclipse Git Tooling besticht durch zwei zentrale Ansichten: Die Git Repositories View (Abb. 1) und die Git Staging View. Die Git Repository View wird verwendet, um Git Repositories dem Eclipse Tooling bekannt zu machen, Repos anzulegen und sie zu klonen. Hier kann man seine Branches und Remotes auch verwalten sowie konfigurieren und die eigenen Repositories mit Remotes synchronisieren (Stichwörter: fetch, push, pull). Die Git Staging View wird verwendet, um veränderte Dateien zu stagen und zu committen. Die Push-Operationen kann man außerdem direkt hier ausführen.

Abb. 1: In der Git Repositorys View kann man seine Repositories verwalten

Schön ist auch die Integration der Git-Commit-Vergangenheit über die History View. Hier kann man die verschiedenen Branches sehen und sich die einzelnen Commits anzeigen lassen oder nach diesen suchen. Über das Kontextmenü ist das sogenannte Cherry Picken möglich, zudem lassen sich darüber Commits reverten, die interaktiven Rebases triggern und vieles mehr.

Die ganze Funktionalität ist schön und liebevoll umgesetzt, sodass das Arbeiten mit Git in Eclipse richtig Spaß macht. Der Autor nutzt Eclipse oft auch als Git-Client für Projekte, die er nicht mit Eclipse entwickelt, z. B. Android-Projekte mit Android Studio. Für all jene, die mehr über die Verwendung des Toolings wissen wollen, empfehle ich mein EGit-Tutorial.

Neue Verbesserungen der Usability

Wie besprochen ist die Git Staging View die zentrale Komponente für das tägliche Arbeiten mit Git in Eclipse: Stagen und Unstagen geht ganz einfach per Drag and Drop oder über das Kontextmenü. Häufig wollen Benutzer aber einfach alles stagen oder unstagen, wofür das EGit-Team jetzt Buttons hinzugefügt hat. Mittlerweile lässt sich die aktuelle UI-Selektion mithilfe von Buttons stagen oder unstagen.

Aus Visual Studio Code übernahm man das Prinzip, auch per Tooltipp arbeiten zu können. Die Idee dahinter ist, dass man den Mausfokus nicht stark verschieben muss. In Abbildung 2 sind diese neuen Funktionalitäten abgebildet.

Abb. 2: Die neuen Funktionalitäten der Git Staging View

Ein echter Usabilityhammer ist ein Feature aus der Hand von Thomas Wolf: Im Eclipse Git Tooling gibt es die Möglichkeit, das Git Repository direkt aus der Staging View wechseln zu können. Gerade wer viel mit verschiedenen Git Repositories arbeitet, wird dieses Feature sehr zu schätzen wissen. Hier entfällt das nervige Wechseln zur Git Repository View, nur um die richtige Selektion im Staging View zu haben.

Ein allgemein geschätztes Feature in der Eclipse 4.7 IDE ist, dass die Buttons in den Dialogen selbsterklärende Beschriftungen haben. Der Benutzer weiß dann schon über den Buttontext, was er da macht und muss nicht erst den ganzen Dialogtext lesen. Das EGit-Team hat hierzu Patches akzeptiert und damit die Verwendung des Git Toolings intuitiver gemacht. Konnte der Benutzer früher lediglich zwischen OK und Cancel wählen, ist die Auswahl jetzt einfacher und schneller (Abb. 3).

Abb. 3: Intuitivere Buttontexte erleichtern auch im Git Tooling die Bedienung

Gerrit-Integration

Angenehmer ist auch die Gerrit-Integration von Eclipse. Für alle, die die letzten Jahre auf dem Codereviewmond verbracht haben: Gerrit ist ein populäres Codereviewsystem. Google entwickelte es ursprünglich für das Open-Source-Projekt Android. In der neuesten EGit-Version hat Thomas Wolf das Herunterladen des letzten Codereviews in die IDE so umgestellt, dass diese Operation im Hintergrund passieren kann und der Benutzer nicht mehr blockiert wird. Wer schon einmal einen Gerrit Change im WLAN der deutschen Bahn heruntergeladen hat, wird dieses nicht blockierende Feature lieben.

Besser geht immer

Die Arbeit mit Git in Eclipse ist dank des EGit-Projekts jetzt schon klasse, aber natürlich geht es immer noch ein wenig besser. Schaut man sich etwa die Git Views an, stellt man fest, dass sie nicht besonders kompakt sind. Insbesondere die Zeile, in der das Repository steht, nimmt doch viel unnötigen Platz ein. Dies wurde bereits an die Entwickler herangetragen und es ist zu hoffen, dass hier eine platzsparende Lösung gefunden wird.

Ein Killerfeature wäre auch die Möglichkeit, beim Git Amend Dateien aus dem Commit herauszunehmen. Hierzu existiert bereits eine fast fertige Lösung von Matthias Sohn. Leider ist die Aktivität in Bezug darauf ein wenig eingeschlafen, aber das Feature würde es viel angenehmer machen, einen lokalen Commit mit einer falschen Datei anzupassen. Aktuell muss man hierzu den Soft oder Mixed Reset verwenden.

Fazit: Eclipse ist „gitgantisch“

Git mit Eclipse funktioniert sehr gut und integriert sich toll in den Entwicklungsfluss. Das Team treibt das Tooling aktiv weiter, erfreulicherweise auch im Hinblick auf die Usability. Wer beim Lesen Appetit bekommen hat und heute schon die neuesten Features nutzen will, kann sich das Git Tooling für Eclipse einfach von der Updateseite aus installieren. Das Risiko der Verwendung dieser Nightly Builds ist gering, denn das EGit-Team hat eine große Testsuite und legt besonderen Wert auf Qualitätskontrolle vor der Integration von Patches. Positiv ist auch, dass das Team offen für Vorschläge und Patches ist.

Zusammenfassend kann man sagen, dass der Endanwender mit EGit eine abgerundete und performante Lösung für die Nutzung von Git in Eclipse bekommt. Wer als Eclipse-Benutzer noch die Command Line verwendet, ist selbst schuld.

Geschrieben von
Lars Vogel
Lars Vogel
Lars Vogel ist Geschäftsführer der vogella GmbH, die Kunden im Bereich Eclipse, Android und anderen Themen unterstützt. Als Project-Management-Committee-Mitglied, Eclipse-Projektleiter und Committer hilft er dem Eclipse-Projekt. E-Mail: lars.vogel@vogella.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: