GitHub mit Eclipse (EGit)
In diesem Beitrag werden einige Aktionen mit Git in Eclipse gezeigt.
Die folgende Produkte müssen installiert bzw. bei diesen Providern muss ein Account vorhanden sein.
- GitHub
- Eclipse v4.2
- EGit mit JGit (Git Library in Java)
- GitHub Mylyn Connector (Download)
Ich empfehle den Beitrag Git mit GitHub, dort werden die Begriffe und Grundlagen von Git beschrieben.
Ein Projekt aus GitHub in Eclipse importieren
In diesem Beispiel wird mein Projekt git_test von GitHub importiert, d. h. es wird das Repository git_test aus GitHub geklont.
Dazu sind folgende Schritte durchzuführen:
- Über das Menü von Eclipse auswählen
File → Import… → Git → Projetcs from Gitund den ButtonNext >betätigen. - Den Eintrag
GitHubauswählen.
Weiter mitNext >. - Den Namen des Repositories
frank-rahneingeben und den ButtonSearchbetätigen. - In der erscheinenden Liste den Eintrag des gewünschten Repository
frank-rahn/git_testauswählen und den ButtonNext >auswählen. - Die benötigten Branches selektieren und mit dem Button
Next >zur nächsten Eingabemaske. - Die Angabe des lokalen Zielverzeichnisses. Typischerweise liegt das geklonte Repository im Verzeichnis
/home/<user>/git/<repository-name>.
Die Aktion mitFinishabschließen.
In der folgenden Bilderserie ist die Maskenfolge der oben genannten Schritte dargestellt.
Die Änderungen ins lokale Repository überführen
In den folgenden Screenshots wird gezeigt, wie Änderungen über den Indexbereich (Staged) in das Repository überführt werden.
- Die beiden Dateien
features-1.txtundfeatures-2.txtwurden geändert. - Die Datei
features-1.txtwurde per drag-and-drop aus dem Unstage Bereich (Oben Links) in den Staged Bereich (Unten Links) gezogen und im EingabefeldCommit Messageein Kommentar hinzugefügt. - Über den Button
wird die Datei features-1.txtins Repository gestellt. - Nun befindet sich nur noch die geänderte Datei
features-2.txtim Workspace und der Indexbereich ist leer. - Die Datei
features-2.txtwird per drag-and-drop in den Indexbereich gezogen und mit Eingabe eines Kommentars committet.
In der folgenden Bilderserie ist die Maskenfolge der oben genannten Schritte dargestellt.
Das Hochladen der Änderungen ins entfernte Repository
In den folgenden Screenshots wird gezeigt, wie die lokalen Commits in das entfernte Repository hochgeladen (push) werden.
- Zunächst wird in die Perspektive
Git Repository Exploringgewechselt. - Im Repository
git_testbefinden sich zwei Commits (Anzeige↑2), die noch hochzuladen sind (Linker Teil). - Auf der rechten Seite (unterer Bereich) in der View
Git Reflogwerden die einzelnen Commits angezeigt. - Über den Menüpunkt
Push...im Contextmenü des Repositoriesgit_test, gelangt man in die Maske für das Zielrepository. In dieser Maske könnten auch andere Repositories konfiguriert werden.
Weiter mitNext >. - Im Dialog
Push Ref Specificationswerden die beiden ButtonAdd All Branches SpecundAdd All Tags Specbetätigt. Damit erscheinen die Einträge in der Mitte des Dialogs. Sie sorgen dafür, dass die Änderungen aus allen Branches und alle neu vergebenen Tags hochgeladen werden. Die Auswahl der Commits bzw. Referenzen kann hier auch feiner erfolgen.
Weiter mitNext >. - Dieser Dialog zeigt die hochzuladen Änderungen an, die mit den Button
Finishzu bestätigen sind. - Nach Abschluss der Aktion verschwindet die
↑2oben links.
In der folgenden Bilderserie ist die Maskenfolge der oben genannten Schritte dargestellt.
Ein neues Projekt mit Eclipse in GitHub anlegen
Dazu sind folgende Schritte durchzuführen:
- Das Repository
test-spring-jdbcüber die Webseite von GitHub anlegen. Siehe dazu das Kapital Einrichten eines Repository bei GitHub im bei Beitrag Git mit GitHub. Das Repository wird als typisches Java Projekt angelegt. - Über das Menü von Eclipse
File → Import… → Git → Projects from Git. Ich verwendeProjects from GitstattRepositories from GitHub, da die Konfigurationsdateien für Eclipse in diesem Projekt noch fehlen und mit diesem Assistenten direkt angelegt werden.
Weiter mitNext >. - Auswahl von
GitHubals Quelle des Repositories und suchen des Repositoriestest-spring-jdbc.
Weiter mitNext >. - Auswählen des Branches
master.
Weiter mitNext >. - Festlegen des Arbeitsverzeichnisses
/hone/<user>/git/test-spring-jdbc.
Weiter mitNext >. - Durch die Angabe
Use the New Project wizarddas Java Projekt für Eclipse erzeugen. Weiter mitNext >. - Die weiteren Dialoge sind die üblichen Assistenzdialog für die Anlage eines Java-Projektes …
In der folgenden Bilderserie ist die Maskenfolge der oben genannten Schritte dargestellt.
Das Konfigurieren der Aufgabenverwaltung von Eclipse mit GitHub
In den folgenden Screenshots wird die Integration des GitHub Issue Trackers mithilfe von Mylyn in Eclipse beschrieben.
- Über den Menüpunkt
File → Import… → Tasks → GitHub Task Repositorieswird die GitHub-Integration ausgewählt.
Weiter mitNext >. - Die Eingabe der persönlichen Authentifizierungsdaten für GitHub.
Weiter mitNext >. - Es wird eine Liste der Repositories gezeigt, in dem man berechtigt ist Tasks bzw. Issues zu erzeugen.
- In der View
Task Repositorieswerden nun alle zugeordneten Repositories angezeigt.
In der folgenden Bilderserie ist die Maskenfolge der oben genannten Schritte dargestellt.
Das Erfassen eines Befundes in Eclipse
- Über den Menüpunkt
File → New → Taskerscheint ein Dialog, wo das Repositoryfrank-rahn/test-spring-jdbcauszuwählen ist. - In dem erscheinendem Editorfenster, wird der Befund beschrieben und mit dem Button
Submitabgesendet. - Im folgenden Fenster werden die Angaben abschließen dargestellt.
- In GitHub hat sich der Zähler bei den Issues erhöht.
- Die Ansicht aller Issues bei GitHub.
Was geht nicht mit EGit?
- Ein Umbenennen von Dateien ist in EGit nicht möglich → dieses kann aber auf der Kommandozeile durchgeführt werden (Siehe Git mit GitHub).
- Wer ist der optimale Java Bean Mapper? - Freitag, 22. September 2023
- Spring Boot Webanwendung: Die ersten Schritte (Tutorial) - Montag, 28. März 2016
- Mainframe-Zugriff via Java - Sonntag, 04. Mai 2014









































































Hallo Frank,
das Git Staging aktualisiert nicht selbstständig wenn sich etwas ändert, man muss immer auf Refresh drücken. (In seltenen Fällen passiert es schon). Kann man etwas einstellen, damit das Git Staging automatisch aktualisiert?
Vielen Dank!
Hallo Harald,
ich gehe davon aus, dass Du ein
git addaußerhalb von Eclipse durchführst und dann die Änderung in der View Git Staging sehen möchtest.Ich hab das mit Eclipse 2020-06 (4.16.0, Linux/Ubuntu 20.04) ausprobiert. Die Version ist kaum genutzt und hat weitgehend noch die Standard-Konfigurationen. Eine Änderung wird in der View immer dann erkannt, wenn ich Eclipse anklicke. Ich kann dein Problem nicht nachstellen.
In den Preferences habe ich unter Preferences > Team > Git in der Mitte der Maske den Abschnitt Automatic refresh gefunden. Dort ist bei mir als Refresh interval 300 Sekunden angegeben und die beiden Hacken bei Refresh resources when index changes und Refresh only when workbench is active gesetzt.
Bei einer globalen Suche nach Refresh in den Preferences hab ich nur noch unter General > Workspace einen Schalter Refresh on access gefunden.
Eclipse verhält sich wie konfiguriert, wenn ich das richtig verstehe, so bald ich eine Aktion (anklicken) in Eclipse auslöse, werden die Änderungen ggf. mit einer leichten Verzögerung erkannt.
Viele Grüß
Frank
Hallo Frank,
erstmal Entschuldigung für die zeitverzögerte Antwort.
Ich habe die Einstellungen überprüft – sie sind auch alle wie Du sie beschrieben hast.
Habe eine Datei inhaltlich geändert:
– im Terminal durch ‚git status‘ wird sie angezeigt
– im Git Staging nicht… nach Betätigen von Refresh wird sie angezeigt
– danach Datei im Terminal durch ‚git checkout — Datei‘ zurückgesetzt –> im Terminal war sie über git status nicht mehr ersichtlich, im Git Staging war sie noch da. Nach Refresh dann nicht mehr.
Habe danach das Refresh Interval auf 5 Sekunden gesetzt, wodurch das Git Staging fast sofort aktualisiert wird – es dauert nicht 5 Sekunden. Das scheint wohl die Ursache gewesen zu sein.
Vielen Dank für den Hinweis!
Schick, aber wie funktioniert das mit den neuesten Eclipse releases (2019-09 oder 2020-03)? Dort gibt es keinen github mylyn connector, oder?
Grüße
Hilmar
Ich hab in Eclipse 2020-06 das Feature Eclipse GitHub integration with task focused interface gefunden, welches den vermissten Support bereitstellt. Das fungiert nun unter dem Begriff Task Repository. Man gelangt in der View Task List mit Activate… > New Task… > Add Task Repository dahin und kann dann ein GitHub Connector für Gist, Issues oder Pull Request auszuwählen.
Ich hab es allerdings nicht ausprobiert.
Sorry für die verspätete Antwort.
Moin,
vielen Dank für den Artikel. Das war genau die Info die ich gesucht habe.
Viele Grüße von der stürmischen Ostsee,
Stephan
Vielen Dank!
Viele Grüße
Frank