Frage

Die folgenden Befehle korrekt funktionierte

$ mkdir carboncake
$ cd carboncake
$ git init
$ git remote add origin gitosis@myserver.net:repositories/carboncake.git 
$ git pull

Aber als ich versuchte, ziehen Sie als ein anderer Benutzer,

$ mkdir carboncake
$ cd carboncake
$ git init
$ git remote add origin mithun@myserver.net:repositories/carboncake.git 
$ git pull

Ich bekam den folgenden Fehler

fatal: 'repositories/carboncake.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

meine gitosis.conf enthält

[gitosis]

[group team]
writable = sweepshots
members = git_id_rsa

[group gitosis-admin]
writable = gitosis-admin
members = git_id_rsa


[repo carboncake]
description = A brand new app by Mithun.
owner = Mithun P

[group carboncake]
writable = carboncake
members = mithun @core

und die keydir enthält git_id_rsa.pub KEY-----.pub mithun.pub mithun-rsa-key-20110427.pub

und des Benutzers .ssh dir enthält

mithun@testserver:~$ ls .ssh/
id_rsa  id_rsa.pub  mithun_rsa  mithun_rsa.pub

-- UPDATE

Ich habe versucht $ git remote add origin mithun@myserver.net:carboncake.git auch, aber den gleichen Fehler.

Eigentlich carboncake.git liegt bei /srv/gitosis/repositories/carboncake.git

War es hilfreich?

Lösung

mithun@myserver.net ?

Durch die Nutzung mithun@myserver.net, Sie umgehen die Gitose vollständig, da die richtige URL das 'die' beinhalten würde 'git'Benutzer, unter dem Gitolith installiert wurde.
Jede Gitosis -Befehle würde den gleichen "Git" -Nutzer betreffen: gitosis@myserver.net (Annahme eines "Gitosis" -Konto hier).

Außerdem sollten Sie nicht den vollständigen Pfad des Repo angeben:

 git remote add origin gitosis@myserver.net:carboncake.git

Andere Tipps

To add a little plain-english Klarheit @VonC ist (völlig richtige) Antwort...

gitosis (die nicht mehr in der aktiven Entwicklung, und Sie sollte mit gitolite, aber diese Antwort gilt für beide) speichert für jeden Benutzer den öffentlichen Schlüssel in (in deinem Fall) ~gitosis/.ssh/authorized_keys.Wenn ein Benutzer ssh ' es auf das Konto gitosis, ssh stellt einen kryptografischen handshake, eine Zeile findet, die in der authorized_keys-Datei, die eine übereinstimmung mit dem angegebenen Schlüssel, und tut, was auch immer, die Linie zu tun, sagt.Wenn Sie betrachten, dass der authorized_keys-Datei, jede Zeile stellt einen Befehl aufrufen, wenn sich der Benutzer anmeldet, das ist ein Aufruf an die gitosis Prozess, tragen den Namen des jeweiligen Benutzers.

So dass jeder Benutzer ist WIRKLICH ssh ' Ing in der GLEICHEN gitosis "Maschine" - Konto, aber die SSH-Schlüssel, den Sie dort mit Feuer bis gitosis WIE der Benutzer Sie sind.Das ist, wie gitosis weiß, welcher Benutzer es zu reden, obwohl Sie schon angemeldet sind, in der gleichen "Maschine" - Konto unter dem Namen gitosis.

So kann jedes lokale repo, die Sie verfolgen möchten, um gitosis zu einem remote-format gitosis@your.server:<reponame>.git.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top