# GiT und Java



## Lord_Aratorn (19. Mai 2011)

Hallo liebe Community.

Ich wollte mal fragen, ob es hier jemanden gibt, der sich mit Git auskennt.
Da ich auf der Suche nach einem Versionsverwaltungstool bin, dass ich in mein EclipseProjekt einbinden kann.
Dieses Tool soll das remoteRepository parsen um Tags und Branches auszugeben.

Ich habe bisher JavaGit ausprobiert, muss jedoch sagen, dass es erstens voller Bugs ist und schon seit 3 Jahren nicht mehr weiter entwickelt wird.

Vielleicht gibt es ja doch den Ein oder Anderen der sich für dieses Thema interessiert.


----------



## planetenkiller (19. Mai 2011)

JGit wird von Eclipse (&Netbeans?) für ihre git Integration eingesetzt. Gehe daher davon aus, das die Library weiterentwickelt wird (und auch (halbwegs) aktuell ist).


----------



## Lord_Aratorn (19. Mai 2011)

danke für die schnelle Antwort.
Ich schaue es mir mal an. Hast du dich schon mal mit jGit beschäftigt?
bzw. ist es Windowskompatibel?


----------



## TheDarkRose (19. Mai 2011)

Jap. JGit und EGit sind Eclipseplugins. JGit ist eine Implementierung von Git rein in Java, d.h. es muss nicht mal ein Git-Client im System vorhanden sein. EGit brauchst du dann noch um die ganzen Teamfunktionen und Git in der Oberfläche zur Verfügung zu haben. Verwende diese Kombination mittlerweile ein paar Monate ohne Probleme.


----------



## schlingel (20. Mai 2011)

Ich verwende Git für private Projekte an denen ich alleine arbeite.

Es würde mich interessieren wie eure Erfahrungen sind im Team? Ich hab öfters gelesen, dass gerade das Mergen mit vielen Branches anstrengend sein kann. Wie ist da eure Erfahrung? Gibt's da eine gute Tool-Unterstützung?


----------



## maki (20. Mai 2011)

*verschoben*


----------



## TheDarkRose (20. Mai 2011)

schlingel hat gesagt.:


> Ich verwende Git für private Projekte an denen ich alleine arbeite.
> 
> Es würde mich interessieren wie eure Erfahrungen sind im Team? Ich hab öfters gelesen, dass gerade das Mergen mit vielen Branches anstrengend sein kann. Wie ist da eure Erfahrung? Gibt's da eine gute Tool-Unterstützung?



Also git im Team ist auch ganz einfach. Man erstellt (wenn man ein zentrales Repo haben will ähnlich SVN) einfach ein bare Repo auf einen Server. Von diesem klont jeder seines und pusht auch wieder dort hinauf. Bei Egit in Eclipse nennt sich dies Push/Fetch to/from Upstream.

Ähm, genau das Gegenteil ist der Fall. Bei Git sind Branches dein tägliches Brot. Mergen ist das total einfach. Nur bei zu großen Konflikten wirds manchmal schwierig. Aber bei SVN war das um einiges fieser.

Wir z.b. erlauben nur einen master (dort ist das aktuellste fertige Release), einen develop (aktuellste Entwicklungen) und release-* branches im zentralen Repo. alle anderen branches zur getrennten Featureentwicklung haben die User nur bei sich selbst. Außer es wäre ein großes Feature an dem mehrere Arbeiten, dann gibt es einen eigenen feature-* branch im Upstream.

Hier eine sehr gute Branchingstrategie: A successful Git branching model » nvie.com

Ich könnte mir das arbeiten ohne git nicht mehr vorstellen. Besonders, da es für einen allein auch lokal funktioniert und nie einen zentralen Server benötigt. Und es lässt sich offline auch arbeiten.

Wie schon geschrieben, gibt es ja die nativen git Befehle selbst, als auch JGit/EGit für Eclipse


----------



## mvitz (20. Mai 2011)

Bezüglich des Branch Models von oben: Für Konsolen Git Nutzer gibt es dafür unter Unix git-flow. Kann ich nur empfehlen!


----------



## schlingel (21. Mai 2011)

> Bei Git sind Branches dein tägliches Brot


Ich weiß deswegen hat es mich interessiert wie da die Erfahrung im Team sind da ja dann jeder lokal seine Branches hat und die dann zu dem Hauptzweig am Server mergen muss.

Oder pusht ihr dann auch diese Branches auf den Server?


----------



## Lord_Aratorn (23. Mai 2011)

Moin,

kannst du mir eventuell ein jGit-CodeBespiel geben, dass Sich zu einem Repository verbindet und den Inhalt auf der Console ausgibt?

Vielen Dank


----------

