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)
Git mit GitHub, dort werden die Begriffe und Grundlagen von Git beschrieben.
Ich empfehle den BeitragEin 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 Git
und den ButtonNext >
betätigen. - Den Eintrag
GitHub
auswählen.
Weiter mitNext >
. - Den Namen des Repositories
frank-rahn
eingeben und den ButtonSearch
betätigen. - In der erscheinenden Liste den Eintrag des gewünschten Repository
frank-rahn/git_test
auswä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 mitFinish
abschließ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.txt
undfeatures-2.txt
wurden geändert. - Die Datei
features-1.txt
wurde per drag-and-drop aus dem Unstage Bereich (Oben Links) in den Staged Bereich (Unten Links) gezogen und im EingabefeldCommit Message
ein Kommentar hinzugefügt. - Über den Button wird die Datei
features-1.txt
ins Repository gestellt. - Nun befindet sich nur noch die geänderte Datei
features-2.txt
im Workspace und der Indexbereich ist leer. - Die Datei
features-2.txt
wird 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 Exploring
gewechselt. - Im Repository
git_test
befinden sich zwei Commits (Anzeige↑2
), die noch hochzuladen sind (Linker Teil). - Auf der rechten Seite (unterer Bereich) in der View
Git Reflog
werden 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 Specifications
werden die beiden ButtonAdd All Branches Spec
undAdd All Tags Spec
betä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
Finish
zu bestätigen sind. - Nach Abschluss der Aktion verschwindet die
↑2
oben 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 Git
stattRepositories from GitHub
, da die Konfigurationsdateien für Eclipse in diesem Projekt noch fehlen und mit diesem Assistenten direkt angelegt werden.
Weiter mitNext >
. - Auswahl von
GitHub
als 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 wizard
das 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 Repositories
wird 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 Repositories
werden 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 → Task
erscheint ein Dialog, wo das Repositoryfrank-rahn/test-spring-jdbc
auszuwählen ist. - In dem erscheinendem Editorfenster, wird der Befund beschrieben und mit dem Button
Submit
abgesendet. - 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 add
auß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