Frage

Ich habe arrangiert .git in einem Verzeichnis auf meiner lokalen Maschine. Ich renne dann:

mkdir a
cd a
git init
git daemon

Wenn ich versuche, das Repository einzuklonen a, Ich bekomme den folgenden Fehler:

mkdir b
cd b
git clone git://127.0.0.1
Initialized empty Git repository in /b/127.0.0.1/.git/
fatal: The remote end hung up unexpectedly

Wie kann ich mein Repository über das Git -Protokoll klonen?

War es hilfreich?

Lösung

Sie müssen lassen git-daemon Wissen Sie, dass es Ihr Repository exportieren kann:

$ git init --bare /tmp/my-repo.git
Initialized empty Git repository in /tmp/my-repo.git/

$ git daemon --verbose --base-path=/tmp --export-all /tmp/my-repo.git &

$ git clone git://`hostname`/my-repo.git
Initialized empty Git repository in /tmp/my-repo/.git/
warning: You appear to have cloned an empty repository.

Ein weitaus besserer Weg ist es, es aus zu laufen xinetd. Erstellen und optimieren /etc/xinetd.d/git in den Bereichen von

# description: The git server offers access to git repositories
service git
{
        disable = no
        type            = UNLISTED
        port            = 9418
        socket_type     = stream
        wait            = no
        user            = nobody
        server          = /usr/local/bin/git
        server_args     = daemon --inetd --export-all --base-path=/pub/scm
        log_on_failure  += USERID
}

Vergiss es nicht sudo killall -HUP xinetd. Nun alle Git -Repositories darunter /pub/scm wird jedem zur Verfügung stehen, der fragt.

Andere Tipps

Sie müssen entweder eine leere Datei mit dem Namen git-daemon-export-ok in das Repository oder starten git daemon mit dem --export-all Möglichkeit.

Zitat aus dem Git-Daemon Mann Seite:

Es wird überprüft, dass das Verzeichnis die magische Datei "Git-Daemon-export-ook" enthält, und es wird sich weigert, ein Git ). Wenn Sie einige Verzeichnispfade als Git -Daemon -Argumente bestehen, können Sie die Angebote auf einen Whitelisten, der aus diesen besteht, weiter einschränken.

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