Git Server auf Diskstation DS218+

Status
Für weitere Antworten geschlossen.

sunnycloud

Benutzer
Mitglied seit
25. Mrz 2018
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Hallo Forumgemeinde,

ich bin neu hier und habe bereits einige interessante Forum Beiträge hier gelesen bzw. ein paar Fragen für mich hier klären können.

Jetzt komme ich aber an einer Stelle nicht mehr weiter und möchte hier im Forum um etwas Hilfe bitten.
Ich bin gerade dabei auf meine DS218+ den GIT- Server einzurichten. Aber ich komme einfach nicht weiter obwohl ich schon einiges im Internet gelesen habe.

Ich habe auf der Diskstation Git ganz normal installiert. Ich habe von Linux leider keine Ahnung aber ich habe es dennoch versuchen wollen!

Mit Putty habe ich mich auf meinem Windows 7 Rechner auf die Diskstation eingeloggt.

Login as: root
root@my_diskstation‘s password:



Nachdem ich das Passwort eingegeben habe, erscheint:

root&my_diskstation:~#


Ich habe dann die gewünschten Ordner erstellt:

mkdir /git
cd /git
mkdir /Repo
cd /Repo
git init --bare


Dann erscheint der Text:

Initialized empty share Git repository in /Repo/

Also bin ich davon ausgegangen, dass alles erfolgreich angelegt wurde.
Wenn ich das Kommando „ls“ in Putty ausführe, wird mir folgenden angezeigt:

branches config desription HEAD hook info objects refs

Das sah für mich also wirklich so aus, als hätte alles geklappt!

Ich habe mich mit „exit“ wieder über Putty ausgeloggt und spaßeshalber noch mal über Putty auf die Diskstation eingewählt. Also:

cd /volume1
cd /git



Dann habe ich "ls" geschrieben und dann hätte ich erwartet, dass mir der Ordner "Repo" angezeigt wird. Es wurde mir aber nichts angezeigt. Einfach nur der Pfad in dem ich mich gerade befinde.

root@my_diskstation:/git#

Nachdem ich aber cd /Repo eingetippt habe, wurde in diesen Ordner gesprungen. Das fand ich schon mal sehr merkwürdig.
Woran liegt das? Ist der Ordner nicht lesbar für den Befehl "ls"?


Ich habe mich dann mit einem Admin Acount auf der Diskstation über den Windowsrechner angemeldet. Ich hätte jetzt erwartet, dass ich den Ordner "git" mit dem Unterordner „Repo“ über die File Station sehen kann. Da war aber leider nichts. Das war das nächste was mich stutzig gemacht hat. Sollte da denn nicht etwas zu sehen sein? Ich habe auf der Diskstation auch ein paar übergeordnete Ordner wie die von Video und Photo von der „Video“- bzw. „Photo“- Station.

Also wieder mit Putty verbunden und in das Verzeichnis „volume1“ gewechselt. Mit dem Befehl „ls“ konnte ich dann sowohl die übergeordnete Ordner „Video“ und „Photo“ sehen, aber auch den „git“ Ordner.
Also das nächste Fragezeichen. Wieso kann ich einen Ordner in der Putty Konsole sehen aber nicht in der Diskstation? Ich bin auch ganz sicher, dass ich mit dem Administrator Account auf der Diskstation angemeldet bin.


Nun gut…. Jetzt wollte ich versuchen das über Putty erzeugte Repository auf meinem Windowsrechner zu clonen. Dazu benötige ich ja ein Git Tool. Ich würde mich gerne etwas mit Visual Studio Code einarbeiten. Also habe ich mir Visual Studio Code herunter geladen und auch das aktuelle Git. (Stand März 2018 „Git-2.16.2-64-bit.exe“)

Nachdem Git in VSC läuft, habe ich über das Terminal Programm von VSC in das Verzeichnis C: gewechselt.
Dann folgenden Befehl eingegeben: (wobei „git“ ein User in der Diskstation ist welcher auch in der GIT- Applikation auf der Diskstation die nötigen Rechte hat)

git clone ssh://git@my_diskstation/volume1/git/Repo.git

Dann folgten die Zeilen:

Cloning into ‘Repo’…
The authenticity of host ‚my_diskstation (192.168.0.100)‘ can’t be established. ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxx. Are you sure you want to continue connection (yes/no)?


Ich habe vermutet, dass dies der SSH Schlüssel ist und somit habe ich das mit “yes” bestätigt.
Dann wurde ich aufgefordert das Passwort einzugeben.
Dann wurde mir darauf hin folgende Antwort angezeigt:

fatal: ‚volume1/git/Repo.git‘ does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure have the correct access rights and the repository exists.


Meine Frage ist jetzt, was muss ich denn für ein Repository haben damit es das richtige ist?
Gibt es eine Möglichkeit in der Diskstation (file station) zu sehen wo der Ordner „git“ liegt und auch was darin enthalten ist?

Ich würde mich über eine Antwort sehr freuen.

Viele Grüße und einen schönen Tag noch,
Marcel
 

Thorndike

Benutzer
Mitglied seit
22. Sep 2010
Beiträge
742
Punkte für Reaktionen
4
Punkte
38
Erst einmal der einfach Punkt:

Du hast alle Verzeichnisse im Rootordner angelegt. Immer wenn eine Pfadangabe mit / beginnt meint das genz oben im Verzeichnisbaum. Wenn du also /git/Repo anlegen willst musst du bein zweiten mkdir in deine Liste den / weglassen (Alternativ geht auch gleich mkdir -p /git/Repo).
 

sunnycloud

Benutzer
Mitglied seit
25. Mrz 2018
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Hallo Thorndike und danke für deine Antwort.

Ich habe jetzt noch Mal den von mir erstellten "git" Ordner gelöscht.

Ich bin in der Putty Konsole in das Verzeichnis:

Root@my_diskstation:/volume1#

gewechselt und habe das Kommando:

Rm –r git

eingegeben. Mit dem Befehl „ls“ habe ich geprüft, ob der Ordner auch wirklich gelöscht wurde.

Danach hab ich mich disconnected und noch Mal neu mit Putty verbunden. Nach der Passworteingabe habe ich den Befehl:

mkdir -p /volume1/git/Repo

eingegeben und bin dann in diesen neu erstellten Ordner gesprungen mit:

cd /volume1/git/Repo

Dort habe ich dann den Befehl:

git --bare init

eingeben.

Aber es hat sich nicht zu meinem beschriebenen Problem geändert.
Kein Ordner in der Diskstation zu sehen und ich konnte auch kein Repository clonen.
Ich habe den Befehl:

git clone ssh://git@my_diskstation/volume1/git/Repo.git

diesmal auch noch mal in der „GIT CMD“ eingegeben aber dort kam die gleiche Fehlermeldung wie in Visual Studio Code.

Grüße,
Marcel
 

sunnycloud

Benutzer
Mitglied seit
25. Mrz 2018
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Nachtrag!

Ich habe jetzt auch mal einen anderen Weg probiert. Ich habe in der Diskstation, in der File Station einen Übergeordneten Ordner „git“ erstellt. Diese ist jetzt parallel zu „homes“, „photo“ und auch „video“. In diesen „git“ Ordner habe ich den Unterordner „Repo“ angelegt.
Dann bin ich zurück in die Putty Konsole und habe dort kein „bare“, sondern ein Work tree repo erstellt:

git init

Dann habe ich auf der Diskstation in der File Station im Ordner „Repo“ einen Ordner „.git“ gefunden.

Das sieht doch schon mal gut aus!

Der Befehl:

git clone ssh://git@my_diskstation/volume1/git/Repo.git

hat auf dem PC aber immer noch nicht funktioniert. Ich habe es auch mal mit dem root bzw. admin User versucht aber es kommt immer noch die gleiche Fehlermeldung!
 

sunnycloud

Benutzer
Mitglied seit
25. Mrz 2018
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

Ich habe mal eine Frage zum generellen Ablauf umso ein Repository zu erstellen.

Aufgaben auf dem Git Server bzw. auf der Diskstation:

- Man installiert auf der Diskstation die Git-(Server) Anwendung.
- Man erteilt einem User die Rechte um auf die Git Anwendung zugreifen zu können.
- Man verbindet sich mit SSH auf die Diskstation und erstellt auf der Diskstation einen gewünschten Ordner. (z.B. volume1/git/Repo)
- Mit der Konsole springt man in diesen neu angelegten Ordner und erstellt ein Repository mit „git --bare init“

Das sollte für die Basisimplementierung reichen. Man kann dann noch die ganzen Sachen mit dem SSH key machen, was ich auch bevorzuge aber das ist nur „nice to have“.
Übrigens, könnte man auch die Ordner „git/Repo“ in der File Station auf der Diskstation erstellen und lediglich per SSH in diesen Ordner springen und dann das entsprechenden Kommando „git --bare init“ ausführen?

Natürlich wird für den Server auch eine gegenstelle benötigt. Daher legt man z.B. auf einen PC ein weiteres Git Repository an. Aber wie macht man das in diesem Fall? Man könnte ja einfach einen gewünschten Ordner anlegen wie z.B. „C:/Repo“. Um darin ein Git anzulegen kann ich ja mit der „Git CMD“ direkt in diesem Ordner ein Git Repository anlegen. Ist das aber so gedacht? Oder muss man mit dem „git clone“ das Repository von der Diskstation an diese Stelle ausführen?

Das ist die basic die mir derzeit noch unklar ist.

Grüße,
Marcel
 

linuxdep

Benutzer
Mitglied seit
02. Jan 2009
Beiträge
584
Punkte für Reaktionen
11
Punkte
38
Hi,

habe ich gerade gefunden, weil mein ssh Key nicht genommen wird. Aber erst mal wie ich das gemacht habe.
  • GIT Server aus dem Repo installiert
  • User angelegt für Git (wenn ihr ihm dem Git Server zuweißt geht kein login)
  • share Ordner angelegt für den gitUser
  • share am Win10 verbunden mit gitUser
  • Ordner angelegt (test.git - Endung sollte dran sein, schon wegen dem auschecken mit den tools)
  • dann per GIT (GIT+Tortoise) ein git --bare init gemacht
  • diesen ordner dann, wenn auch noch leer, per git clone ... auf den Win10 geholt
  • ab hier kann dann pull commit oder sonst was gemacht werden.

Nun zu meinem Problem, die ACL (erweiterte Rechte) scheinen aber zu verhindern, dass der sshKey genommen wird, weiß einer, wie ich die entsprechend anpassen müsste? Löschen wollte ich sie nicht...hängen ja auch die Windows Rechte mit dran wenn man es mountet und so
 

Tommi2day

Benutzer
Mitglied seit
24. Aug 2011
Beiträge
1.187
Punkte für Reaktionen
71
Punkte
68
Wenn Du schon git clone vom Share gemacht hast, wird wahrscheinlich im origin gar nicht die git://gituser@nas URL drinstehen, sondern der share, oder?

Ein Share mit den entsprechenden User- und Gruppenrechten ist auch für mich auch die sinnvollere Lösung. Im Grunde genommen brauchst Du den Git Server auf dem NAS auch garnicht, weil über den Share alles vom Client gemacht werden kann. Das Git-Paket als Server bietet überhaupt keinen Mehrwert. Dann lieber Gitlab. Es sei denn, Du willst GIT Kommandos direkt auf dem Server absetzen.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat