Synology NAS - Git Server

  • Hallo zusammen,

    auf einem Synology NAS ist es möglich einen Git Server einzurichten (https://www.synology.com/de-de/knowledg…SM/help/Git/git).
    Hat es jemand geschafft diesen mit GitHub Desktop (Windows) zu verbinden?

    Wenn ich auf Add Repository > Clone a Repository > URL > https://addresse-zur-synology.de eingebe und dann versuche mich anzumelden kommt die Meldung Authentification failed.

    Clonen müsste doch so klappen? (SSH mit Port 46)
    ssh://gituser@192.168.178.36:46/volume1/documents/Git/thesis
    bzw.
    ssh://gituser@https://pfade-zur-synology:46/volume1/documents/Git/thesis (Portweiterleitung eingerichtet)

    Ein paar weitere Fragen:
    - Was bewirkt --bare und --shared?
    - Müssen noch zusätzliche Rechts durch Befehle erteilt werden? z.B. mit chown -R gituser:users thesis
    - Muss der Befehl git update-server-info ausgeführt werden und was bewirkt er?
    - Müssen die homes Verzeichnisse aktiviert sein?
    - Muss ich eine Authentifizierung mit RSA-Keys einrichten oder geht es auch ohne?

  • Hast du auf der Synology denn einen Ordner erstellt Git-Repos zum Beispiel und innerhalb dieses Ordners git init ausgeführt?

    Du solltest auch weitere Benutzer anlegen. Du möchtest nicht als root oder admin alles auf Git machen. Das kann auch mal schief gehen ;)

    Ich würde dir grundlegend folgende Ordnerstruktur auf einer deiner Volumes empfehlen:

    volume_x:
    - "Giit repos" (als Überordner für alle Repos)
    -- "<name_des_repos>" (als einen Unterordner von "Git repos", der dann das Repository beschreibt in dem du dann auch git init ausführen musst)
    -- "<name_eines_anderen_repos>" (als weiteren Unterordner von "Git repos", der ein anderes Repository beschreibt wo du WIEDER git init ausführen musst)

    Jeder Order, der ein Git repo beschreibt, muss erst als solch ein Repo initialisiert werden.

  • bin nun so vorgegangen. Irgendwas scheint aber noch nicht zu passen. Evtl. sieht jemand einen Fehler

    1.) SSH-Dienst bei Systemsteuerung > Terminal aktivieren und z.B. Port 46 einstellen
    2.) Git-Paket installieren und öffnen. Benutzer xyz ist schon ausgewählt da Admin
    3.) Putty öffnen, mit Nas verbinden, sudo -i für root, in Ordner Masterarbeit wechseln und dort git init ausführen
    4.) In Ordner Git wechseln und chown -R xyz:users Masterarbeit ausführen
    5.) In Ordner Masterarbeit wechseln und chown -R xyz:users .git ausführen
    6.) In Ordner .git wechseln und dort chmod 700 config ausführen
    7.) über ssh://xyz@192.168.178.36:46/volume1/Git/Masterarbeit hinzufügen

  • bin mit folgender Vorgehensweise etwas weitergekommen:

    - SSH aktivieren, Port 46, Portfreigabe einrichten
    - User Verzeichnisse aktivieren
    - Git Server installieren
    - Ordner Git erstellen: volume1/documents/Git
    - Putty mit root (sudo -i)

    im Verzeichnis volume1/documents:
    chown -R xyz:administrators Git
    chmod -R 772 Git

    im Verzeichnis volume1/documents/Git:
    git init --shared Test.git

    - im Programm Sublime Merge
    ssh://xyz@192.168.178.36:46/volume1/documents/Git/Test.git

    -> das Hinzufügen hat damit geklappt.


    Fehlermeldung beim Pushen:
    error: src refspec master does not match any.
    error: failed to push some refs to 'ssh://xyz@192.168.178.36:46/volume1/documents/Git/Test.git'

    Fehlermeldung beim Pullen:
    Your configuration specifies to merge with the ref 'refs/heads/master'
    from the remote, but no such ref was fetched.

    Hat jemand eine Idee wie man den Fehler beheben kann?

    EDIT: Fehler gefunden. Musste im Git Client (z.B. Fork) noch folgendes ausführen:
    git commit -m "Initial import"
    git push -u origin master

    Jetzt funktioniert es endlich

    Einmal editiert, zuletzt von update.freak (2. April 2019 um 23:24) aus folgendem Grund: Fehler gefunden

  • Für anstehende Projekte im Team will ich nun weitere Personen für den Git-Server hinzufügen.
    Bin dabei wie folgt vorgegangen:

    1. mit Putty im Synology-NAS anmelden und zu root wechseln
    2. folgende Befehle eingeben:
      Code
      cd /volume1/git
      git --bare init Test.git
      chown -R benutzer1:users Test.git
      chown -R benutzer2:users Test.git
      chmod -R 766 Test.git
    3. beim Hinzufügen in den Git-Client (Fork) mit ssh://benutzer1@test.spdns.de:45/volume1/git/Test.git habe ich nun das Problem,
      dass dies nur beim benutzer2 funktioniert, also dem letzten "chown -R"-Befehl. Für benutzer1 kommt eine Meldung, dass Berechtigungen fehlen könnten.

    Hat jemand eine Idee, woran das liegen könnte und wie man das Problem behebt?


    EDIT: Lösung gefunden: mit chmod -R 777 Test.git funktioniert es

    Einmal editiert, zuletzt von update.freak (4. Juli 2019 um 08:16) aus folgendem Grund: Lösung gefunden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!