Git auf der Synology DiskStation nutzen

GinoBambino

Lt. Commander
Registriert
Sep. 2012
Beiträge
1.064
Die Synology NAS-Server erlauben es, einen Git-Server zu installieren. Dies habe ich soweit getan. Vorab: Ich bin ein absoluter Git-Noob.

Es ist mir aber bereits gelungen, per SSH den Git-Server anzusprechen und mit "git init" ein lokales Repository anzulegen. Nun wollte ich ein Projekt, welches ich in Android-Studio erstellt habe, in mein Repository hinzufügen.

Ist es dabei möglich, ein auf meinem Entwickler-Rechner gespeichertes Verzeichnis auszuwählen, oder müssen sich die Quelldateien alle auf der Synology DiskStation befinden?
 
In deinem Projektverzeichnis
Code:
git init
git add .
git commit -m "Initial import."
git remote add origin remoteUserName@gitRepoIpOrHost:repoName
git fetch --all
git push origin master

Alles aus der Hüfte, d.h. ohne Gewähr. Das Repo musst du je nach git-Server-Software erst dort anlegen. Kann sein, dass bei remote add die Addresszeile bei dir etwas anders aussehen muss. Musst du mal rumprobieren. Evtl. fängt sie bei dir mit ssh:// an.

Statt origin kannst du dein remote natürlich auch synology oder wie auch immer nennen. Ist dir überlassen.

Ob das fetch nötig ist, weiß ich gerade nicht aus dem Kopf, aber schaden tut es auf keinen Fall. In der letzten Zeile ersetzt du master durch deinen aktuellen Branchnamen, der vermutlich master ist.

P.S.: Das Repo auf dem Server bitte mit --bare anlegen.
 
Zuletzt bearbeitet:
Puh... Danke für deine Unterstützung, aber das ist alles ein bisschen zu schwer für mich. Ich muss mich wohl erst mit den einzelnen Befehlen auseinandersetzen.

Ich bin bis zum "git commit -m" gekommen. Danach meldet mir die DiskStation folgendes:

*** Please tell me who you are.

Run

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

PS: Ich habe mich unter SSH als "admin" angemeldet. Bei dem Versuch, mich als normaler User anzumelden, beendet sich SSH. Ich verstehe noch nicht ganz, wie das Ganze "ineinandergreift". Muss jeder "Git-User" Admin-Berechtigungen besitzen, um Git zu nutzen?
 
Schreibrechte auf dem Repo braucht der User. Kommt immer ein bisschen auf den Repo-Hoster/Server an. Bei bitbucket z.B. meldet man sich mit einem eigenen User an (kannst du ja vorher mal dort probieren, damit wenigstens git selbst nicht die Hürde für dich ist).
Bei gitolite hingegen, gibt es einen user "git", bei dem alle ssh keys hinterlegt sind von den Usern, die zugreifen können (so ist die config zumindest bei mir in der Firma).
Wie Synology das handhabt, weiß ich nicht. Könntest natürlich deinen ssh key beim admin-User hinterlegen und dann einfach mit
Code:
git remote add origin admin@ipDerStation:repoName
darauf zugreifen. Das könnte funktionieren. Vielleicht bietet die Station aber auch was ähnliches an wie eine Userverwaltung oder eine Ablage für ssh keys über eine Weboberfläche. So kenn ich es zum Beispiel von Gitorious.

Du siehst jedenfalls, es ist überall ein bisschen anders und daher nicht so eindeutig zu beantworten, außer von jemandem, der selbst so eine Kiste hat und das ausprobieren kann.

Die Meldung, die du da bekommst ist übrigens normal beim ersten Versuch. Einfach das tun, was da steht und einmal diese Daten konfigurieren. Sonst weiß git nicht, als welcher User der commit getätigt werden soll.
 
hehe Danke! Ja, ich bin ein wenig weitergekommen nach jener Meldung. Der Befehl für den "initial import" hat zwar nicht funktioniert, aber ansonsten konnte ich "git remote add origin admin@ipDerStation:repoName" ausführen.

Erst bei "git fetch --all" gab es dann eine Fehlermeldung:

fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.

Die Berechtigungen dürften nicht fehlen, schließlich bin ich als Admin angemeldet. Das Repository scheint wohl nicht erkannt worden zu
sein. Im Ordner "git" existiert jedoch definitiv ein Ordner "myapplication.git", den ich mal mit git add hinzugefügt habe.

Ich muss wohl noch ein wenig weiter herumexperimentieren.
 
Hi.

Ich habe auf der folgenden Seite die Befehle für eine Einrichtung gefunden:

http://www.synology-wiki.de/index.php/Git_Server
PHP:
# Create a directory for all your repositorys
$ mkdir /volume1/REPO

# Create a new repo
$ mkdir /volume1/REPO/MyNewProject

# and initialise it
$ cd /volume1/REPO/MyNewProject
$ git init --bare --shared

# Now make sure it is world writeable
$ cd ..
$ chmod -R o+w MyNewProject

Das hat soweit geklappt.

Da ich noch nicht weiß, wie man mit einem Git-Repository umgeht, kann ich dennoch nicht viel damit machen :D

Ich werde mich jetzt also auf http://git-scm.com/ einlesen ;)
 
Zurück
Oben