Meine Situation
Ich habe ein Synology NAS mit einem Git-Server und als Client nutze ich Eclipse mit dem plug-in EGit oder die Software SourceTree.
Die Vorbereitung
Auf die installation des plug-ins „Git-Server“ gehe ich nicht ein, das sollte man hinbekommen.
Als erstes habe ich auf meinem „volume1“ den Ordner „GitHub“ und da drin noch den Ordner „git“ angelegt. Das sollte dann so aussehen „/volume1/GitHub/git“.
Im Anschluss habe ich auf dem NAS, ein User (in meinem Fall ist der User „dh“) im Backend bereich angelegt, der nur für Git ist und lese/schreibe -Rechte hat, für den Ordner „/volume1/GitHub/git“.
Wenn das alles geklappt hat, geht es im „Terminal“ weiter, dazu müsst ihr auf dem NAS im Backend den „Terminal-Dienst“ aktivieren.

Danach müsst ihr euch die Software „PuTTY“ runter laden und installieren. Wenn ihr PuTTY gestartet habt, dann gebt bei „Host Name“ die IP von eurem NAS an und klickt auf „Open“ und schon könnt ihr im Terminal arbeiten.

Als erstes müsst ihr euch im Terminal einlogen, es kommt der Dialog „login as:“ da gebt ihr euren User an und mit enter bestätigen, danach kommt die Passwort-Abfrage, natürlich gebt ihr euer Passwort ein und auch mit enter bestätigen.
Ein neues Repository auf dem Git-Server anlegen
- in den Git-Ordner wechseln
cd /volume1/GitHub/git
- ein leeres Repository mit rechten anlegen
- –bare = leeres Repository
- –shared = Rechte vergeben
git init --bare --shared meinRepo.gitCode-Sprache: CSS (css)
- User-Rechte auf den neuen Ordner setzen und im Anschluss in den Ordner wechseln.
chown -R dh:users meinRepo.git
cd /volume1/GitHub/git/meinRepo.git/
- die HTTP-Server Infos setzen, damit mit „HTTP“ geklont werden kann, z.B.:
$ git clone http://example.com/gitproject.git
git update-server-info
Ein neues Projekt und Repository in Eclipse anlegen
Wenn ihr EGit in Eclipse noch nicht aktiviert habt, hier gibt es die Anleitung dazu
- ein neues Projekt in Eclipse erstellen
- danach ein rechts-klick auf das Projekt -> Team -> Share Project…
- die Checkbox „Use or create repository in parent folder of project“ aktivieren
- in der Liste den Eintrag anklicken
- danach den Button „Create Repository“ klicken
- in der Liste die Checkbox aktivieren und auf den Button „Finish“ klicken
Die .gitignore anlegen
Als nächstes müssen wir eine Liste anlegen, wo drin steht, was Git alles ignorieren soll, da man z.B. die Eclipse setting-Dateien und die .class Dateien nicht mit Commiten sollte
Als erstes legen wir die .gitignore an, dazu legen wir einfach im Projekt-Ordner eine neue Datei an mit dem Namen „.gitignore“ danach öffnen wir sie und schreiben folgendes rein.
# files/directories #
###################
/bin/
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so
# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
# Logs and databases #
######################
*.log
# OS generated files #
######################
.DS_Store*
ehthumbs.db
Icon?
Thumbs.db
# Editor Files #
################
*~
*.swp
# Gradle Files #
################
.gradle
.m2
# Build output directies #
##########################
/target
*/target
/build
*/build
# Eclipse specific files/directories #
######################################
.classpath
.project
.settings
.metadata Code-Sprache: PHP (php)
Speichern und Fertig, das sollte es gewese sein, nun sollte das alles was in der Datei steht ignoriert werden.
Hier noch eine kleine Liste für andere Software und Programmiersprachen.
den Commit auf den Git-Server Pushen
Wenn ihr EGit in Eclipse noch nicht aktiviert habt, hier gibt es die Anleitung dazu
Nachdem ihr in Eclipse das Projekt, das Repository und die .gitignore-Datei erstellt habt, kommt der erste Push auf den Git-Server.
- in Eclipse das Tab „Git Staging“ öffnen
- wenn unter „Unstaged Changes“ nichts steht, dann mal eine Klasse anlegen, wenn es einer änderung in der Liste gab, dann auf der Symbol mit den 2 Plus klicken, damit man die Änderung in die „Staged Changes“ Liste verschiebt, jetzt noch eine „Commit Message“ schreiben und im Anschluss auf den Button „Commit and Push…“ klicken
- danach sollte ein Fenster auf gehen, wo ihr URI von eurem Git-Server angeben müsst, das sollte so aussehen
// mit SSH (Standard-Port: 22)
ssh://[Git-User]@[NAS IP oder Hostname]:[Port]/[Git-Repository-Pfad]
// in meinem fall würde es so aussehen
ssh://dh@10.10.10.1:22/volume1/GitHub/git/meinRepo.git
// mit HTTP oder HTTPS (Standard-Ports auf dem NAS HTTP: 5000, HTTPS: 5001)
http://[Git-User]@[NAS IP oder Hostname]:[Port]/[Git-Repository-Pfad]
// in meinem fall würde es so aussehen
http://dh@10.10.10.1:5000/volume1/GitHub/git/meinRepo.git
https://dh@10.10.10.1:5001/volume1/GitHub/git/meinRepo.git
// ich habe aber den Git-Ordner vom Server als Netzlaufwerk eingebunden und nutze den Pfad
file:///W:\git\meinRepo.gitCode-Sprache: JavaScript (javascript)