Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Git server: does not appear to be a git repository
Hallo ich möchte mir einen privaten git-server aufsetzen. Als Plattform setze ich auf Ubuntu Server 12.04 64-Bit.
Bis her habe ich nach dieser Anleitung gearbeitet, bis zum ersten clonen hat auch alles Problemlos geklappt, aber wenn ich versuche ein projekt zu clonen erhalte ich auf dem Client-System eine Fehlermeldung:
Code:
fatal: 'gitosis-admin.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
git did not exit cleanly (exit code 128)
Ja, die wird im zweiten Link ja schließlich auch erst erstellt.
Bei welchem Befehlt kommt denn der Fehler genau?
Wie siehts denn aus, wenn du erstmal per SSH in das Verzeichnis gehst,
das du zu klönen versuchst, und schaust ob der Pfad stimmt?
Meine Vermutung wäre auch erstmal eine fehlerhafte Pfadangabe.
Wichtig sind die Rechte für /home/git/.ssh und /home/git/.ssh/authorized_keys
Die müssen die Rechte 700 bzw. 600 haben. Also rwx------ für /home/git/.ssh
und rw------- für /home/git/.ssh/authorized_keys
Der SSH Server ist da sehr pingelig.
Die Rechte von /home/administrator/.ssh/id_rsa.pub interessieren da in dem Moment nicht so sehr.
meine id_rsa in /home/git/.ssh interessiert ihn garnicht...
Nach einer Datei namens id_rsa in /home/git/.ssh schaut der SSH Server ja auch nicht. Die erlaubten Keys sind in /home/git/.ssh/authorized_keys abgespeichert.
Wie hast du deinen Key denn auf den Server kopiert? Mit ssh-copy-id?
Ich habe den key garnicht auf irgend einen Server kopiert, ich arbeite mit putty direkt auf dem server, auf dem ich einen git server einrichten möchte, ich habe den key mit "ssh-keygen -t rsa -C ..." angelegt.
Ein Key kann nur zur Authentifizierung per SSH benutzt werden, wenn dieser im Zielaccount (git) in der Datei ~/.ssh/authorized_keys hinterlegt ist. Einen Key generieren alleine, reicht nicht aus. Allerdings könnte es auch sein, dass sich gitosis beim Setup darum kümmert?!
Eins vorweg: ich habe gitosis oder gitolite noch nie selbst verwendet, aber bei beiden Systemen muss man den SSH Key erst authentifizieren. Ich habe mal in die Anleitung reingeschaut, die du im ersten Post gepostet hast.
Noch eine kleine Frage nebenbei, wenn ich ein Projekt clonen möchte mit "git clone git@mein-git-server.de:gitosis-admin.git" muss ich ein passwort eingeben, aber welches? Denn der Benutzer git wurde mit "--disabled-password" angelegt.
Wenn alles geklappt hat, wird gar nicht nach einem Passwort gefragt.
Wenn du magst, kann ich heute abend die ganze Anleitung mal in einer VM testen und schauen, ob ich das Problem auch habe. Du hast Ubuntu 12.04 LTS als Server verwendet, nicht?
Kann ja gut möglich sein, dass du gar nichts übersehen hast, sondern, dass die Anleitung einfach nicht mit Ubuntu 12.04 LTS funktioniert?
Du bist wahrscheinlich dabei durcheinander gekommen, welches Kommando du
wo absetzen musst. Also ob auf dem Server oder auf dem Client. Vor allem weil
das bei dir die selbe Maschine ist, hast du da wahrscheinlich etwas verwechselt.
Den SSH Key musst du auf dem Client generieren und dann auf den Server
kopieren. Auf dem Server musst du dann als Benutzer git das Programm gitosis-init starten und mit dem SSH-Key füttern. Den Teil hast du vermutlich verschlumpft.
Also jetzt werde ich auch mal gitlab und gitolite ausprobieren.
Wenn es hält, was es verspricht, hat man ja seinen eigenen Github-Klon.
Klingt komfortabel.
Also ich habe mal die Installationsanleitung von Gitlab auf Ubuntu 12.04 Server Schritt für Schritt durchgeführt. Das sind zwar wirklich viele Schritte, aber jeder funktioniert. Einzig der Teil mit der Bearbeitung der zwei Config-Dateien ist etwas dünn. Da muss man sich entscheiden, ob man im Hintergrund lieber SQLite oder MySQL verwenden möchte. Wer sich mit MySQL nicht auskennt, muss da erstmal nachschlagen, wie man einen MySQL Benutzer erstellt und eine Datenbank erstellt. Wer damit keine Erfahrung hat, kann aber auch SQLite benutzen.
Ja, was soll ich sagen? Gitlab ist ein wenig wie Bitbucket oder Github. Nur mit dem Unterschied, dass es scheinbar projektzentriert und nicht benutzerzentriert ist.
Projekte haben die URL http://gitserver/project und nicht
etwa http://gitserver/user/project
Ich habe auch keine Möglichkeit gefunden, wie man sich als neuer Benutzer registrieren könnte. Der Admin muss im Menü einen Benutzer anlegen.
Zwei Probleme habe ich beim testen bemerkt: ich musste noch "ntp" installieren (apt-get install ntp), damit die Gitlab die Zeitzonen richtig auf die Reihe bekommt. Was ich leider nicht zum Laufen bekommen habe, ist das "Dashboard". Dort steht immer nur "Projects activity will be displayed here", obwohl es bereits Aktivitäten gibt. Anscheinend ist dafür dieser "Resque" Service zuständig. Muss man dafür einen funktionierenden Mailserver (oder Satellit) aufsetzen?
EDIT: das Problem mit dem Dashboard habe ich behoben, lag irgendwie an den update-hooks von git. Lösung siehe https://groups.google.com/forum/?fromgroups#!topic/gitlabhq/8LVbZWCfczk
Ansonsten bin ich von Gitlab sehr beeindruckt und begeistert. Die Bedienung ist wie bei Bitbucket/Github. Man loggt sich ein, lädt einmalig seinen öffentlichen Schlüssel hoch (via Webinterface) und kann dann Projekte anlegen/klonen/bearbeiten.
Anbei noch ein paar Screenshots.
Den SSH Key musst du auf dem Client generieren und dann auf den Server
kopieren. Auf dem Server musst du dann als Benutzer git das Programm gitosis-init starten und mit dem SSH-Key füttern. Den Teil hast du vermutlich verschlumpft.
Und genau das ist mein Problem, denn als Client benutze ich Windows 7.
ABER: Wenn ich dem Benutzer git mit passwd ein Passwort gebe, funktioniert es auch Problemlos.
Habe mich nur gewundert.
aber ich versuche es mal mit puttygen.
Aber ich habe es jetzt auch einigermaßen hinbekommen, Danke!