JensBlawatt

git serve

Manchmal ist es hilfreich ein git Repository via Daemon bereitzustellen um ein schnelles Klonen ohne SSH oder einen besonderen Services wie Gitea aufsetzten zu müssen. Beim Mecruial gibt es dafür hg serve, was darüber hinaus noch eine Web GUI mit mitbringt. Für git ist dies (ohne Web GUI) mit dem Befehl git daemon möglich.

$ git daemon --verbose --export-all --base-path=.git --reuseaddr --strict-paths .git/

Um sich dieses Kommando nicht merken zu müssen, kann man dafür in git einen Alias erstellen:

$ git config alias.serve \
     "daemon --verbose --export-all --base-path=.git --reuseaddr --strict-paths .git/"

Jetzt reicht das folgende Kommando

$ git serve

So lässt sich das Repository jetzt ganz einfach über klonen

$ git clone git://localhost /tmp/test
Klone nach '/tmp/test'...
remote: Objekte aufzählen: 423, fertig.
remote: Zähle Objekte: 100% (423/423), fertig.
remote: Komprimiere Objekte: 100% (366/366), fertig.
remote: Gesamt 423 (Delta 241), Wiederverwendet 0 (Delta 0), Paket wiederverwendet 0 (von 0)
Empfange Objekte: 100% (423/423), 420.18 KiB | 9.13 MiB/s, fertig.
Löse Unterschiede auf: 100% (241/241), fertig.