Frage Verwirrung bei der Wahl zwischen JavaGit, JGit und EGit


Ich mache eine Java-Anwendung, die Git verwendet. Ich habe festgestellt, dass da etwas genannt wird JavaGit, EGit und JGit.

Ich weiß, dass JavaGit und EGit / JGit unterschiedlich sind. Was ich nicht verstehe, ist der Unterschied zwischen EGit und JGit. Beide werden auf Eclipse-Projekten gehostet, aber eines scheint Eclipse-bezogen zu sein und das andere nicht.

Ich benutze Eclipse nicht und ich habe nicht vor, das zu tun, deshalb interessiert mich die "Eclipse-Integration" nicht wirklich.

Ist JGit irgendwie mit Eclipse verbunden? (Es ist auf www.eclipse.org gehostet, und die Dokumentation von JGit hat auch eine Menge "Eclipse" -Schlüsselwörter innen)

Von den dreien, was brauche ich, um mein Java-Programm (nicht in Eclipse geschrieben) zu verbinden, um mit Git-Repositories zu arbeiten?

Ich würde eine eigenständige Git-Bibliothek bevorzugen (d. H. Ohne von einer lokalen Git-Installation abhängig zu sein)

EDIT: Noch eine Frage:

EDIT: Ich fand die Antwort - es tut (habe es noch nicht versucht). Es ist in transport Paket in einer Klasse namens BundleWriter


76
2018-03-17 06:52


Ursprung


Antworten:


Sie können JGit als eigenständige Bibliothek verwenden, aber wie in der JGit Homepage:

JGit kann gefunden werden in:
  * EGit, Eclipse-Team-Provider für Git

In diesem Sinne ist JGit mit Eclipse insofern verbunden, als dass es JGit-Funktionen verwendet, um das Eclipse Git-Plugin zu entwickeln.
Wenn man bedenkt, dass alle Eclipse-Projekte nun in Git-Repos versioniert sind (anstelle früherer CVS-Repos), würde ich JGit für Ihr Java-Projekt in Betracht ziehen, da es so scheint:

  • JavaGit wird seit einiger Zeit nicht mehr aktualisiert (2008)
  • Eclipse hat es sich zur Aufgabe gemacht, Git durch EGit eine gute Unterstützung zu bieten, was die Weiterentwicklung von JGit (von EGit verwendet) sicherstellen sollte.

Thorbjørn Ravn Andersen Bemerkungen:

Obwohl Sie sagen, dass Egit JGit verwendet, ist oben nicht ganz klar, dass EGit ein Eclipse-Plugin für Git ist, das Git-Unterstützung bietet, so wie CVS bereits in Eclipse unterstützt wird

Die Migration von Eclipse-Projekten von CVS zu Git ist in Bearbeitung, und wurde hier gemeldet (von Chris Aniszczyk).

Ich habe Gespräche über die Migration von Projektcode von CVS nach Git in den Dev-Listen mehrerer Projekte verfolgt.
  Die meisten Entwickler, so scheint es, verstehen das Wertversprechen der Migration trotz ihrer Bedenken, dass mit der Migration eine Menge neuer Erkenntnisse gewonnen werden, wenn sie herausfinden, wie produktiv in der neuen Umgebung zu sagen ist.

Zwangsläufig wird die Diskussion über den Team-Provider für Git, der vom EGit-Projekt entwickelt wird, zu einem wichtigen Teil der Konversation. "Ist EGit Primetime?" Ist oft die Frage, die sich herumgesprochen hat

Der offizielle Fehler verdeutlichte die Verpflichtung von Eclipse, für alle Eclipse - Projekte, die jetzt auf Git Repo installiert sind, eine "adäquate Tooling - Unterstützung" anzubieten Fehler 293192.

Um alte VCS zugunsten von Git abzulehnen (Fehler 270854), angemessene Werkzeuge   sollte verfügbar sein. Dieser Fehler wurde erstellt, um dies zu verfolgen.
  [...] Ich habe relevant geöffnet / verlinkt EGit Bugs um eine bessere Sichtbarkeit / Verfolgung zu haben   von dem, was fehlt.

Egit ist also das einzige Projekt, auf das in diesem Fehler verwiesen wird, um die entsprechende Tooling-Unterstützung für das neue (D) VCS bereitzustellen, das für alle Eclipse-Projekte ausgewählt wurde.

(Fehler 270854 handelt von Veraltet alte VCS-Tools, die im Wesentlichen CVS enthält.)


Just in (17. März 2001): Der Staat Git bei Eclipse - Anfang 2011 (Chris Aniszczyk):

Ich bin froh, dass die Dinge seit dem letzten Jahr ziemlich weit gekommen sind, basierend auf den Eclipse Marketplace-Statistiken und den Community-Beiträgen, die die Projekte erhalten haben.

EGit installation rate

Was kommt als nächstes? Was die Werkzeugausstattung anbelangt, nähern wir uns unserer Version 1.0 (die für die Indigo-Version geplant ist).
  Die Git Tooling bei Eclipse ist in diesen Tagen viel besser, wenn Sie Hilfe brauchen oder Fragen haben, bitte beginnen Sie mit den besten EGit Benutzerhandbuch.

Wenn du ein bist eclipse.org Bitte beachten Sie, dass Sie den Prozess starten müssen, um Ihr Projekt-Repository nach Git zu verschieben. Es gibt bereits viele eclipse.org-Projekte auf Git.
  Es wäre schön zu sehen, dass alle eclipse.org-Projekte Pläne haben, durch die Indigo-Veröffentlichung nach Git zu ziehen.


54
2018-03-17 07:09



Als einer der Autoren von JGit und EGit, Entschuldigung für die Verwirrung.

JGit ist eine EDL (New-Style BSD) lizensierte, leichte, reine Java-Bibliothek, die das Git Versionskontrollsystem implementiert. Es kann eigenständig verwendet werden und ist in Anwendungen wie Gerrit, Eclipse, Netbeans und IntelliJ eingebettet. EGit bettet JGit ein, um es mit Git-Repositories zu verwenden und Git-Konstrukte in Eclipse verfügbar zu machen. Momentan unterstützt JGit den git-bundle-Befehl nicht, aber Sie können gerne Support beisteuern, es sollte nicht so schwer sein, lesen Sie bitte unseren Leitfaden für Benutzer.


41
2017-07-21 15:34



Nur um hineinzuschlüpfen, als ich gerade gerade über diese Frage gestolpert bin.

Es gibt einen Unterschied zwischen der Eclipse Foundation und der Eclipse IDE. Die Stiftung ist die Dachorganisation, während die IDE eines der durch die Stiftung entwickelten Projekte ist. Es ist also wichtig zu wissen, dass genau wie Apache mit dem Webserver begann und sich zu einer Foundation entwickelte, die eine Reihe von Projekten hostet. So wurde die Eclipse Foundation nun über ihre "Wurzeln" in der IDE hinaus erweitert.

In diesem Kontext stellt der JGit-Code eine Java-API für Git-Befehle bereit, während EGit JGit verwendet, um Git-Unterstützung für die Eclipse-IDE bereitzustellen.

Persönlich finde ich das manchmal auch etwas verwirrend, und manchmal scheint es fast so, als hätte sich der Fokus dieser Organisationen in gewisser Weise verschlechtert, weil so viel passiert ist; Aber ich sehe auch den Nutzen darin, eine Dachorganisation anstelle von 20 ähnlichen, aber unterschiedlichen Organisationen zu haben.


4
2018-03-28 18:58



JGit wird von Grund auf als Java-Bibliothek implementiert, wohingegen JavaGit eine Java-API ist, die die native Git-Implementierung umhüllt (d. H. Sie ruft die native git-Befehlszeile auf).

EGit ist der Git Eclipse Team Provider, der JGit in die Eclipse-IDE integriert und die Benutzeroberfläche für die Arbeit mit Git aus Eclipse bereitstellt.

Ein großer Teil der Eclipse-Community und auch eine große Anzahl von Unternehmensentwicklern verwenden inzwischen EGit / JGit (deshalb investieren die Unternehmen, die diese Projekte unterstützen, Geld in diese). Siehe die Projektseiten und ohloh wenn du ein wenig Einblick bekommen willst, wer mitmacht.


3
2017-09-01 08:57



JGit ist eine Bibliothek, um das Git-Repository zu manipulieren. Sie verwenden JGit nicht alleine, es sei denn, Sie schreiben ein Programm, um das Git-Repository so zu manipulieren, wie Sie es möchten.

Wenn Sie Eclipse als IDE verwenden, installieren Sie EGit als Versionskontroll-Plugin (standardmäßig in Indigo). EGit ruft JGit auf, so dass Sie JGit installiert haben, wenn Sie EGit installieren.

Hinweis: Für Netbeans installieren Sie NBGit als Versionskontroll-Plugin. NBGit ruft auch JGit auf.

JavaGit: nicht aktiv gepflegt?


0
2017-08-26 14:51



JGit ist die Java-Implementierung von Git. Es ist eine Bibliothek, die auch in Ihren eigenen Anwendungen verwendet werden kann. Es bietet auch eine Art von CLI-Operationen. EGit auf der anderen Seite ist das Eclipse-Team-Provider-Plugin für Git, das JGit als Git-Implementierung verwendet. Vereinfacht könnte man sagen: EGit ist der UI-Teil und JGit der Hintergrundteil. JGit hängt nicht von EGit ab, aber EGit hängt von JGit ab.

Von: https://www.eclipse.org/forums/index.php/t/273443/


0
2017-11-18 04:26