Moin Moin,

ich stand gerade vor der Herausforderung, einen eigenen Git-Server aufsetzen zu wollen.
Bei mir in der Ecke steht ein kleiner Linux-Server mit Ubuntu 15.10. – der u.a. als Git-Server fungieren soll.

Die Entwicklungen sollen jedoch in Eclipse auf einer Windows-Kiste stattfinden.

Da ich mich im Laufe dieses Mini-Projekts durch mehrere Websites & Doku arbeiten musste, habe ich hier eine kleine (wahrscheinlich sehr unvollständige) Kurzanleitung für alle Interessierten:
Eins vorweg: die Dokumentation von GIT enthält viele Infos, die man hierfür benötigt – reinschauen und durchlesen lohnt sich (besonders für Einsteiger):
https://git-scm.com/book/de/v1/Git-auf-dem-Server-Git-auf-einen-Server-bekommen (ab Kapitel 4.2 wurde es spannend)

Aber eins nach dem anderen:

1) Git auf Linux / Ubunut installieren

Die Grundlage für den Betrieb eines Git-Servers ist natürlich die Installation der Git-Pakete. Das könnt ihr einfach mit dem Befehl:

Tipp: für die Installation auf anderen OS schaut einmal hier nach: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

 

2) Git User anlegen

Das Thema Benutzerverwaltung wird hier wunderbar beschrieben. Ich habe mich entschieden, einen einzigen Git-User zu erstellen und mit diesem per SSH zu arbeiten.
Deshalb musste zuerst ein neuer User – hier „git“ genannt – erstellt werden:

Da alle nachfolgenden Befehle von diesem User ausgeführt werden sollen, muss man in der Konsole / dem Terminal nun den User wechseln:

Unter Ubuntu wurde bei der Installation automatisch im Ordner /opt/ ein Ordner /git/ angelegt. Darin muss nun manuell ein Ordner angelegt werden, der das spätere Repository darstellt:

Hinweis: der Ordner sollte mit .git enden, um einwandfrei zu funktionieren.

Anschließend muss das Git-Repository initialisiert werden. Navigiert dazu ggf. per „cd“-Befehl in diesen Ordner – und führt folgenden Befehl aus:

 

3) SSH einrichten

Da ich meinen Git-User in Eclipse per SSH mit meinem Server verbinden möchte, muss dieser natürlich noch die entsprechenden Zertifikat erhalten.
Dafür wird im Hauptverzeichnis des Users zunächst der Ordner /.ssh/ angelegt und anschließend die Zertifikate generiert.

Beachtet, dass ihr diese und alle nachfolgenden Befehle immer noch als User „Git“ ausführt!
Mit dem folgenden Befehl legt ihr den Ordner /.ssh/ im Hauptverzeichnis an.

Das Generieren der Zertifikate erfolgt anschließend wie folgt:

Tauscht die öffentlichen Zertifikatsdateien zwischen Remote-Server und Eclipse-Rechner aus. Mehr Details findet ihr hier.
Mit folgendem Befehl könnt ihr ein öffentliches Zertifikat (z.B. von eurem Eclipse-Rechner) auf eurem Remote-Server (Linux / Ubuntu) als „authorisiert“ kennzeichnen.

Wenn das erledigt ist könnt ihr z.B. mit dem Programm „Putty“ testen, ob ihr auf euren Linux-Server per SSH zugreifen könnt.
Das Ergebnis sollte nun wie folgt aussehen:

SSH-Zugriff über Putty auf den Git-Server

Hinweis: mein Server heißt im Netzwerk einfach „server“ – unkreativ aber leicht lesbar 🙂

Wenn das funktioniert hat, können wir nun zur Eclipse-Integration kommen.

 

4) Eigenen Git-Server mit Eclipse verbinden

Seit irgendeiner Eclipse-Version wird Git gleich von Haus aus mitgeliefert. Schaut bitte einmal, ob ihr unter „Help“ > „Installation Details“ im Reiter „Installed Software“ irgendwas mit „Git“ findet.
Bei mir z.B. ist dort „Eclipse Git Team Provider“ und „Eclipse Git Team Provider – Task focused interface“ zu finden. Wenn ihr das nicht findet, installiert euch die Plugins.

Wenn das Git-Plugin installiert ist, geht wie folgt vor:

  1. Wechselt in Eclipse die Perspektive, indem ihr oben rechts auf dieses Symbol klickt: Eclipse - Perspektive wechseln Icon
  2. Wählt anschließend aus der Liste „Git“ aus.
  3. Klickt im linken Bereich auf „Clone a Git repository“.
  4. Im sich öffnenden Fenster gebt ihr den Pfad zu eurem Server an. In meinem Fall:
    Git Pfad des eigenen Servers in Eclipse
    Nutzt als „Password“ das Passwort, was ihr beim Einrichten des Users „git“ vergeben habt!
  5. Im nächsten Screen dürfte die Meldung kommen, dass kein Branch gefunden werden konnte. Logisch – der Server ist ja auch erst neu. Wenn ihr später vorhandene Projekte über Eclipse vom Server ladet, sollte dort schon ein Branch zu finden sein.
  6. Im nächsten Screen bestimmt ihr nur noch den Ordner auf eurem lokalen Rechner, auf dem die Daten des Repository abgelegt werden sollen – und seid fertig!
  7. Falls ihr über Putty auf euren Git-Server zugreifen könnt, Eclipse jedoch irgendwelche Connection Errors wirft, probiert einmal folgendes:
    „Window“ > „Preferences“ > „Team“ > „Git“ > „Configuration“ – und tragt im Reiter „User Settings“ einen neuen Eintrag ein:
    Key: http.sslverify
    Value: false
    Damit wird die SSL-Prüfung übersprungen, die evtl. bei einem lokalen Server (noch) nicht komplett eingerichtet ist bzw. gar nicht eingerichtet werden soll.
    Anschließend konnte sich Eclipse per SSH auf meinen Git-Server verbinden!

Falls bei der Einrichtung Fragen oder Probleme auftreten, schaut hier einmal nach: http://www.vogella.com/tutorials/EclipseGit/article.html

Nun könnt ihr ein neues Projekt per Rechtsklick > „Team“ > „Share Project“ erstmalig auf eurem Repository ablegen. Der Rest ergibt sich von selbst bzw. lässt sich leicht googeln.

Have fun 🙂