# Ist Egid das richtige um im Team an einem Projekt zu arbeiten?



## jupa (4. Feb 2013)

Hallo,

ich suche ein Tool um in Eclipse mit mehreren Entwicklern an einem Projekt zu arbeiten. Ich habe mir einige Tutorials über Egid durchgelesen, aber so richtig verstanden habe ich das ganze nicht. 

Mich Interessiert weniger was ich vor 2 oder 3 Tagen an meinem Code geändert habe sondern brauche ich vielmehr die Funktion das 2 oder 3 Entwickler mit einem Workspace arbeiten können.

Kann Egid sowas überhaupt???

Vielen Dank schonmal für eure Antworten.


----------



## Marco13 (4. Feb 2013)

*nicht so der Experte dafür ist aber* Der Workspace ist erstmal komplett lokal. Es wäre auch ... u.U. schlecht wenn allen Entwicklern z.B. die gleiche Tastaturbelegung aufgezwungen werden würde (wie kommt man darauf, "Find next" NICHT auf F3 zu legen? :noe: ). Das einzige, was für alle gleich sein sollte, ist der Code, und ob man den mit SVN oder GIT verwaltet ist dann eher "Geschmacksache" (auch wenn GIT zumindest theoretisch einige Features hat, die weit über die von SVN hinausgehen).

EDIT: Warum wird SVN eigentlich erklärt, aber GIT nicht?


----------



## Timothy Truckle (4. Feb 2013)

jupa hat gesagt.:


> ich suche ein Tool um in Eclipse mit mehreren Entwicklern an einem Projekt zu arbeiten.


Da wirst Du mehr als ein Tool zur Unterstützung brauchen. (e)git ist nur eins. Das vielleicht wichtigere ist maven (oder gleich gradle...). 

Das Szenario ist dies: 
Es gibt ein zentrales SCM-Repository (git (auch als git-hub), Subversion, mecurial, ClearCase... je nach Geschmack und Geldbeutel). 
Dort befindet sich der Sourch-Code der Anwendung und eine pom.xml, in der das Projekt und seine Abhängigkeiten beschrieben sind.
Die lokalen Stände der einzelnen Entwickler müssen über dieses zentrale Source-Repository regelmäßig synchonisiert werden. (Üblicher Weise wenn der aktuelle Unittest grün wurde, und dann noch mal nach dem Refactoring, bevor der nächste UT geschrieben wird.)

Mit dem M2E-Plugin kann man das pom.xml als Eclipse-Projekt importieren.
Benötigt man zusätzliche Libs werden die in der pom ergänzt.



jupa hat gesagt.:


> Ich habe mir einige Tutorials über Egid durchgelesen, aber so richtig verstanden habe ich das ganze nicht.


Windert mich nicht. egit ist nur das Frontend zu 
	
	
	
	





```
git
```
. Dazu musst Du etwas lesen.

bye
TT


----------



## dashlsadfhjldas (4. Feb 2013)

Naja arbeiten mehrere an einem Projekt läuft das meist ganz klassisch ab. Es gibt irgendwo einen Server mit einem Sourcecodemanagementtool welches ein Hauptrepository verwaltet. Dort checken alle Leute ihren Kram ein und holen sich Änderungen in ihren lokalen Workspace ab, bei eventuellen Konflikten werden die Änderungen ordnungsgemäß vermischt und alles ist gut. Dafür reicht SVN und bei kleinen Teams funktioniert das auch recht gut.

Was bei so einem Setup nicht vorhanden ist, ist die Möglichkeit eigene Ideen zu versionieren ohne sie aufs Hauptrepository zu legen. Will man das machen wachsen dann oft die Tags und Branches recht schnell an, was nicht unbedingt gewollt ist.

Git und Mercurial oder z.B. Bazaar sind Sourcecodemanagementtools die man ähnlich verwenden kann aber es zusätzlich die Möglichkeit gibt den eigenen Code lokal zu versionieren und später auch in das Hauptrepository mit relativ wenig Problemen zu übertragen. Zudem sind die Merge-Algorithmen etwas besser, weil es IMHO ein 3-Wege-Vergleich ist.

Welches man von den verteilten nimmt ist, naja, Geschmackssache. Ich persönlich finde das EGit Plugin für Eclipse mäßig, da war damals das Mercurial-Plugin besser und so blieb ich schließlich bei Mercurial. Für letzeres gibts auch ausgezeichnete Tutorials wie z.B. Mercurial Kick Start. 

Aber es sollte auch angemerkt werden, so schön die verteilte Welt mit lokaler Versionierung etc. pp. ist, es verlangt einem mehr geistige Kapazität in Sachen Lernkurve ab und man kann doch recht viel falsch machen. Die einfachste Lösung, wenn man gar keine Erfahrung hat und es schnell gehen soll, ist ein SVN. Später kann man diese z.B. in ein Mercurial oder Git-Repository umwandeln bzw. eine Mercurial-SVN oder Git-SVN-Bridge verwenden.


----------



## L-ectron-X (4. Feb 2013)

Marco13 hat gesagt.:


> EDIT: Warum wird SVN eigentlich erklärt, aber GIT nicht?


Ich bau's ein.


----------



## jupa (6. Feb 2013)

Vielen Dank für eure Hilfe. Ich werde mir das Mercurial Tool man anschauen.


----------

