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.

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:

  1. Über das Menü von Eclipse auswählen File → Import… → Git → Projetcs from Git und den Button Next > betätigen.
  2. Den Eintrag GitHub auswählen.
    Weiter mit Next >.
  3. Den Namen des Repositories frank-rahn eingeben und den Button Search betätigen.
  4. In der erscheinenden Liste den Eintrag des gewünschten Repository frank-rahn/git_test auswählen und den Button Next > auswählen.
  5. Die benötigten Branches selektieren und mit dem Button Next > zur nächsten Eingabemaske.
  6. Die Angabe des lokalen Zielverzeichnisses. Typischerweise liegt das geklonte Repository im Verzeichnis /home/<user>/git/<repository-name>.
    Die Aktion mit Finish 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.

  1. Die beiden Dateien features-1.txt und features-2.txt wurden geändert.
  2. 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 Eingabefeld Commit Message ein Kommentar hinzugefügt.
  3. Über den Button Der Eclipse Git Commit Button wird die Datei features-1.txt ins Repository gestellt.
  4. Nun befindet sich nur noch die geänderte Datei features-2.txt im Workspace und der Indexbereich ist leer.
  5. 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.

  1. Zunächst wird in die Perspektive Git Repository Exploring gewechselt.
  2. Im Repository git_test befinden sich zwei Commits (Anzeige ↑2), die noch hochzuladen sind (Linker Teil).
  3. Auf der rechten Seite (unterer Bereich) in der View Git Reflog werden die einzelnen Commits angezeigt.
  4. Über den Menüpunkt Push... im Contextmenü des Repositories git_test, gelangt man in die Maske für das Zielrepository. In dieser Maske könnten auch andere Repositories konfiguriert werden.
    Weiter mit Next >.
  5. Im Dialog Push Ref Specifications werden die beiden Button Add All Branches Spec und Add 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 mit Next >.
  6. Dieser Dialog zeigt die hochzuladen Änderungen an, die mit den Button Finish zu bestätigen sind.
  7. 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:

  1. 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.
  2. Über das Menü von Eclipse File → Import… → Git → Projects from Git. Ich verwende Projects from Git statt Repositories from GitHub, da die Konfigurationsdateien für Eclipse in diesem Projekt noch fehlen und mit diesem Assistenten direkt angelegt werden.
    Weiter mit Next >.
  3. Auswahl von GitHub als Quelle des Repositories und suchen des Repositories test-spring-jdbc.
    Weiter mit Next >.
  4. Auswählen des Branches master.
    Weiter mit Next >.
  5. Festlegen des Arbeitsverzeichnisses /hone/<user>/git/test-spring-jdbc.
    Weiter mit Next >.
  6. Durch die Angabe Use the New Project wizard das Java Projekt für Eclipse erzeugen. Weiter mit Next >.
  7. 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.

  1. Über den Menüpunkt File → Import… → Tasks → GitHub Task Repositories wird die GitHub-Integration ausgewählt.
    Weiter mit Next >.
  2. Die Eingabe der persönlichen Authentifizierungsdaten für GitHub.
    Weiter mit Next >.
  3. Es wird eine Liste der Repositories gezeigt, in dem man berechtigt ist Tasks bzw. Issues zu erzeugen.
  4. 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

  1. Über den Menüpunkt File → New → Task erscheint ein Dialog, wo das Repository frank-rahn/test-spring-jdbc auszuwählen ist.
  2. In dem erscheinendem Editorfenster, wird der Befund beschrieben und mit dem Button Submit abgesendet.
  3. Im folgenden Fenster werden die Angaben abschließen dargestellt.
  4. In GitHub hat sich der Zähler bei den Issues erhöht.
  5. 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).
Frank Rahn
Letzte Artikel von Frank Rahn (Alle anzeigen)
7 Kommentare
  1. Harald
    Harald sagte:

    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!

    Antworten
    • Frank Rahn
      Frank Rahn sagte:

      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

      Antworten
      • Harald
        Harald sagte:

        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!

        Antworten
    • Frank Rahn
      Frank Rahn sagte:

      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.

      Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Ihre E-Mail-Adresse wird nicht veröffentlicht. Ihr Kommentar wird verschlüsselt an meinen Server gesendet. Erforderliche Felder sind mit * markiert.

Weitere Informationen und Widerrufshinweise finden Sie in meiner Datenschutzerklärung.