Für Eclipse gibt es das Plugin EGit, das eine Anbindung von Eclipse an
GIT ermöglicht. In den neueren Versionen wie beispielsweise Eclipse neo ist
EGit bereits installiert.
Installation von EGit
Bei einer älteren Variante von Eclipse wird der Eclipse Marketplace bemüht
und dort nach EGit gesucht. Bei Versionen, die noch keinen Marketplace haben,
(getestet mit 3.8) wird folgendermaßen vorgegangen:
- Help|Install Software Es erscheint ein Dialog.
- Darin wird die Klappbox Work With aufgeklappt, und darin
--All Available Sites -- ausgewählt.
- In der darunterliegenden Liste erscheinen verschiedene Kategorien.
Darin wird Collaboration gewählt. Mit Next wird
der nächste Dialog gewählt.
- Dort Eclipse EGit. Next markieren. Next
- Im Folgedialog akzeptiert man die Lizenzbedingungen und kann dann
Finish anklicken.
Die Software wird installiert. Anschließend bittet Eclipse darum, neu gestartet
zu werden.
Eclipse-Projekt unter Git stellen
Mit EGit ist es möglich, für ein existierendes Eclipse-Projekt ein lokales
Repository anzulegen. Dabei gibt es zwei grundsätzliche Ansätze:
- Das Repository wird im Projektverzeichnis selbst abgelegt.
Dieses enhält also anschließend ein Verzeichnis namens .git.
- Es gibt einen zentralen Pfad für die Repositories, beispielsweise im
Verzeichnis git im Heimatverzeichnis, in dem alle Projekte
ihre Repositories getrennt von den Eclipse-Daten ablegen.
Um ein existierendes Projekt unter GIT-Verwaltung zu stellen, wird zunächst das
lokale Git-Repository angelegt.
- Das Projekt wird mit der rechten Maustaste angeklickt und dort wird
Team|Share Project angewählt.
- Im Dialog wird das Projekt mit einem Haken versehen.
- Es gibt eine Box, die vorschlägt, dass das lokale Repository im
Projektverzeichnis liegen soll. Wird dieser angewählt, erübrigen sich
alle anderen Fragen und das Repository wird mit FINISH angelegt.
- Klickt man auf CREATE, kann man ein Verzeichnis wählen, in dem das lokale
Repository liegt.
Im nächsten Schritt werden die Dateien des Eclipse-Projekt in den Zustand
staged gebracht, damit sie beim nächsten Commit ins lokale Git übernommen
werden.
- Das Projekt wird mit rechter Maus angeklickt. Team|Add to Index.
- Dateien, die nicht in die Versionsgeschichte laufen sollen, wie erzeugte
Binarys können mit der rechten Maustaste und Team|Ignore
markiert und ausgenommen werden.
Mit
Team|Commit werden Änderungen am Source im lokalen Repository
gespeichert. Dabei muss im Dialog immer ein Kommentar erfasst werden.
Übernahme ins zentrale Repository
Erst wenn
Commit & Push oder
Push gewählt wird, gehen die
Änderungen in das zentrale Repository.
Beim ersten Mal fragt EGit, wo das zentrale Verzeichnis liegt.
Es muss also bereits angelegt worden sein.
EGit fragt nach dem Host, dem Verzeichnis auf dem Host, dem Protokoll und dem
Benutzer und seinem Passwort.
Liegt ein SSH-Key vor, muss das Passwort nicht angegeben werden.
Das funktioniert auch mit GitLab, sofern das Repository vorher im Browser
angelegt wurde.
Eclipse exportiert standardmäßig die Verzeichnisse .settings und src, sowie
die Dateien .classpath, .gitignore und .project.
Import des Projekts aus dem Git-Repository
Ein Projekt aus dem GitLab kann direkt aus Eclipse mit EGit importiert
werden. Dazu werden folgende Schritte durchlaufen:
- Aus dem Menü File|Import anklicken.
- Im Dialog unter Git den Punkt Projects from Git
anwählen. Mit Next kommt man zur nächsten Dialogseite.
- Im Folgedialog werden lokale, URI und GitHub angeboten. Für einen
GitLab-Server wird URI angewählt, dann Next.
- Im Eingabefeld URI kann nun die komplette Adresse des Remote
Repository angegeben werden, etwa in der Form
git@gitlabserver:arnold/Projektname.
- Es erscheint eine Liste mit den Branches, die das Repository anbietet.
- Als lokaler Pfad wird /home/user/git/Projektname vorgeschlagen,
also ein Pfad außerhalb des Eclipse-Projekts. Next.
- Import existing projects Next
- Finish
Aktualisierung
Um auf den aktuellen Stand der Kollegen zu kommen, wird ein Pull ausgeführt.
- Rechtsklick auf das Projekt.
- Im Kontextmenü Team | Pull auswählen.
- Liegen Änderungen vor, erhält man eine Übersicht über die Commits
inklusive der Kommentare.