# Eclipse | Teamwork | Versionskontrolle



## Joe Public (17. Januar 2013)

Hallo,

ich bin ziemlich neu dabei Java-Programmierung zu lernen.
Jetzt ist in mir der Wunsch gross geworden, verschiedene Versionen von einzelnen Programmen (sofern man die schon so nennen kann), mehr oder weniger automatisch gespeichert zu kriegen. Das ganze möglichst fein in Eclipse integriert… ich habe schon EGIT gefunden.
Allerdings (soweit ich das verstanden habe) kann/muss ich das auf Github hoch laden wo dann jeder meine popligen Programme belachen kann, was schnell peinlich werden kann…… andererseits möchte ich gerne ggf. mit anderen zusammen arbeiten……

Ich weiss viele Wünsche auf einmal, aber da muss es doch eine Lösung (möglichst kostenfrei) geben, die mir sowohl das arbeiten im Team, als auch eine Versionskontrolle, die möglichst einfach zu handeln ist und sagen wir mal so in der Art wie Dropbox (also semiprivat ) am laufen ist.

Kann mir da jemand etwas empfehlen?

Besten Dank im Voraus


----------



## Bratkartoffel (18. Januar 2013)

Hi,

hinter Egit liegt das VCS, genauer das git.

Noch kurz zu ein paar Infos vorab: Jeder Teilnehmer / Programmierer von dir hat lokal eine Kopie des Repositories, auf der er arbeitet. Sobald er eine Änderung macht und diese einträgt, wird diese erst nur bei ihm lokal gespeichert und in die Versionsverwaltung aufgenommen. Sobald er das Feature fertig hat, und die anderen Mitglieder teilhaben lassen will, pusht er diese zu einem zentralen Server, von wo aus die anderen ihren lokalen Stand aktualisieren können.

Github ist ein Anbieter für git Repositories, aber wie du bereits angemerkt hast sind deine Sourcen dann öffentlich. Ausserdem glaub ich kaum, dass ein Unternehmen seine Sourcen, mit denen es Geld verdient, offen im Internet lagern will. Von daher kannst du dir einen eigenen Git-Server relativ simpel selber einrichten. Hier reicht zum Beispiel ein alter Rechner, den du entweder im Büro (falls ihr so was habt) oder halt bei dir daheim hinstellst.

Als Server Software hab ich für mich ein Debian mit gitosis am laufen. Wenn du Interesse hast, dann kann ich dir bei der Einrichtung helfen, bzw. entsprechende Tutorials zusammen suchen.

Grüße,
BK


----------



## Joe Public (18. Januar 2013)

> Von daher kannst du dir einen eigenen Git-Server relativ simpel selber einrichten. Hier reicht zum Beispiel ein alter Rechner


EGit hatte ich kurz nach dem Post hie gefunden und schon mal eingerichtet.
Ja mit localhost hatte ich öfter beim googeln gesehen. Ich habe noch so viele Server rum flacken, das ich das gerne darüber laufen lassen würde. Aber eigentlich auf allen laufen im Vordergrund Websites und im Hintergrund könnte ich das Repository drauf laden. Das localhost lässt mich vermuten das da ein einfacher "Fileserver" nicht reicht sondern ein Apache etc. verlangt wird……
Ich sitze hier vor nem Mac, da könnte ich ja auch den Apache anwerfen, den stelle ich des nächstens allerdings aus, so das aber auch niemand drauf pushen (heisst das so?) oder pullen kann……
Meine letzte Idee wäre dann das tatsächlich Dropbox zu nutzen……

Also Du siehst, Gedanken hab ich mir gemacht, komme aber zu keiner sinnigen Lösung, oh btw. einen alten Rechner hat keiner von uns beiden…

Grüße

Joe

OK, also ich habe eine Liste freier (dennoch private gehosteter Repositorys) Anbieter gefunden.

Ich habe mich für Assembla entschieden.
Wenn ich versuche mein bestehendes Pakt in E-Git hoch zu laden (via "Push"), bekomme ich folgende Meldung:


 ssh://Nutzer@git.assembla.com:22: org.eclipse.jgit.transport.CredentialItem$YesNoType:The authenticity of host 'git.assembla.com' can't be established.
RSA key fingerprint is 31:06:3b:0d:cd:*************************
Are you sure you want to continue connecting?

(Nutzername und RSA-Key habe ich geändert, die stehen schon richtig da ;o) )

Bin ich zu doof oder geht das irgendwie anders? Trotz intensivem Googlen und gucken und machen fällt mir erst mal nix  mehr ein……

Grüße

Joe


----------



## Bratkartoffel (18. Januar 2013)

Joe Public hat gesagt.:


> [...]Das localhost lässt mich vermuten das da ein einfacher "Fileserver" nicht reicht sondern ein Apache etc. verlangt wird……[...]



Nope, git läuft normal über ssh, das heißt Apache brauchst du nicht. Da auf den meisten Servern bereits ein SSH-Server läuft, brauchst du ausser gitosis dann keine extra-Programme. Da kein neuer Port benötigt wird musst du auch an der Firewall nichts ändern.



			
				Joe Public hat gesagt.:
			
		

> [...]
> ssh://Nutzer@git.assembla.com:22: org.eclipse.jgit.transport.CredentialItem$YesNoType:The authenticity of host 'git.assembla.com' can't be established.
> RSA key fingerprint is 31:06:3b:0d:cd:*************************
> Are you sure you want to continue connecting?
> ...



Ich glaub du musst das Repository erst mal abholen (clone), dann deine Änderungen / Dateien rein kopieren und dann erst pushen. Eclipse ist da etwas eigen teilweise 

Grüße,
BK


----------



## Joe Public (18. Januar 2013)

> Ich glaub du musst das Repository erst mal abholen (clone), dann deine Änderungen / Dateien rein kopieren



Soweit war ich eben schon, ich weiss nur nicht wie ich meine bestehenden Daten in das neue Repository rein bekomme, das "übliche" Copy/Paste mag er irgendwie nicht……


----------



## Bratkartoffel (18. Januar 2013)

Hi,

importier das Projekt erstmal mit Eclipse. Dabei zeigt er ein Ja-Nein Dialog an, ob du dem Hostkey vertraust. Dieser ist übrigens öffentlich, hättest nicht zensieren müssen oben 

Dieser Dialog erscheint leider nicht immer. Hatte auch schon mal das Problem, dass ich nichts pushen konnte, weil der Server nen neuen Hostkey hatte. Erst als ich einmal eine Verbindug mit Eclipse und dem Server via Import aufgebaut, und den Hostkey bestätigt hatte, ging der Push wieder.

Anscheined gibts da nen Bug, dass beim Push keine Dialoge angezeigt werden können oder so 

Grüße,
BK


----------



## Joe Public (18. Januar 2013)

> Dabei zeigt er ein Ja-Nein Dialog an, ob du dem Hostkey vertraust.


Nö hatte er nicht gefragt…… Gott hab ich lange gebraucht……

Zunächst alles vorbereiten, also EGit installieren und den SSH-Key generieren……etc pp
Also 1. Man nimmt ein bestehendes Package geht via>Rechtsklick>Team drauf und "Share Project"
2. Im Git-Repository Browser (in Eclipse) das Paket via "Commit" veröffentlichen, da den Host etc. Deines Anbieters eintragen und via HTTPS veröffentlichen (Commit & Push)
3. Dann das ganze als "Master" kennzeichnen usw. und alle Abfragen bejahen (weiss ich grade nicht mehr Step-by_Step, ging aber dann ziemlich intuitiv)

Und ab dafür…… wenn man weiss wie, geht es eigentlich ganz einfach……

Das hier kann auch gut helfen ;o)
Hab ich nur zu spät gesehen

http://www.vogella.com/articles/EGit/article.html

Dank & Gruss

Joe


----------



## dg87 (18. Januar 2013)

Jetzt muss ich mir kurz einmischen und doof Fragen. Wieso sollte Git öffentlich sein. Man kann hier seine Repos auch auf Private stellen. Allerdings kostets hier natürlich auch.
Mal sehen ob ich nicht auch zu einem anderen Hoster wechsle, wobei ich die 7 Dollar im Monat i.o finde


----------



## Joe Public (18. Januar 2013)

> Wieso sollte Git öffentlich sein. Man kann hier seine Repos auch auf Private stellen



Du meinst GitHub, oder?

Und ja klar kann man die da auch privat einstellen, für einen **** wie mich der gerade mal ein paar Schleifchen setzen kann und ein Kumpel da öfter mal drauf schauen soll, ist aber kostenpflichtig dann doch ein wenig over the Top……… oder?

Abgesehen davon gibt es ja genügend Anbieter die ein "privates" Hosting kostenfrei anbieten…… also alles was ich möchte, mein Kumpel kann mir helfen und ich amüsiere nicht alle ernsthaften Programmierer mit meinen dilettantischen Progrämmchen ;o)

Oder sprechen wir aneinander vorbei?

P.S. Ist **** ein Schimpfwort****?
P.P.S. ;o) offenbar ist absoluter Neuling in englisch etwas sehr sehr böses ;o)  (Im Web 3.0 wir wohl gemerkt an wen was adressiert ist^^


----------



## dg87 (18. Januar 2013)

Wollte nur meinen Senf dazugeben, weil oben iwo stand das geht nur Public, was aber nicht so ist.
Ne ich verstehe das durchaus und finde den Thread gut, vll werde ich mir auch einen kostenlosen Hoster suchen für meine App entwicklungen und deren minimalen speicherplatz würde das reichen...


----------



## Joe Public (18. Januar 2013)

Ladyyyyyyyys and Gentelemen……… yes its me again 

Aaaaaalso,
um zu testen ob das ganze Thema denn jetzt auch wirklich kollaborativ funktioniert, hab ich meiner Freundin das Macbook geklaut und da mal die ganze Prozedur durchgeführt……
Hab via Clone das Repository geladen (ging einwandfrei) und dann an den Files hier und da was geändert und gemacht und getan…… als ich dann via push / commit und sonst noch was versucht habe die Änderungen hoch zu lasen Eh eh…… nö mach ich nich…… "Authentification failed"…… 

Also s.o. 


> Erst als ich einmal eine Verbindug mit Eclipse und dem Server via Import aufgebaut, und den Hostkey bestätigt hatte, ging der Push wieder.



Scheint nicht der einzige Bug zu sein…… 

Also von meiner Seite her wieder zurück zum Anfang……
Kennt jemand einen Workaround oder eine Lösung die auch für normal sterbliche handhabbar ist?
Ich bin jetzt echt am Ende meines Lateins und habe keine Lust mehr von einem Fehler zum nächsten zu hetzen… und ich bin mir sicher ich bin nicht der einzige der mit Eclipse auf dem Mac kollaborativ arbeiten möchte…… gibt es da nicht jemanden der etwas in der Art ERFOLGREICH einsetzt?

Dank & Gruss

P.S. bin gerade zu meinem Rechner zurück und wollte da mal einen "push" anstossen…… da habe ich jetzt dasselbe Problem?
Liegt das dann am Hoster?


----------



## anja-achtstein (18. Januar 2013)

gut ist aber sehr schwer


----------



## Joe Public (18. Januar 2013)

> gut ist aber sehr schwer



ironisch?

Ich habe einen Server über den ich soweit (ein bisschen) Kontrolle habe…… aber ich weiss eben nicht ob ich "hinter" das website Hosting noch einen Git Server flanschen kann…
Bevor ich mich an so etwas wage und am Ende meine Website zerschiesse, habe ich nach einem freien Hoster gesucht und gefunden…

Solange mir nicht jemand eine Gold Lösung zeigt, tappe ich offenbar von einer Wand zur nächsten und suche den Lichtschalter…


----------

