Ich habe ein paar meiner Projekte auf github gelegt; allerdings hätte ich doch gerne die Daten der Repositories auf meinem Server - da bin ich irgendwie eigen :-) Die Sache sieht so aus, daß ich in einem Verzeichnis eine Reihe .git-Verzeichnisse (also bare Repositories) liegen habe; einige davon sind die Mirrors von github, andere sind eigenständige Repositories. Die Mirrors wollte ich per Cronjob täglich aktualisieren. Wie's geht, habe ich hier kurz zusammengeschrieben:
Einen solchen Mirror von einem git-Repo legt man mit folgendem Kommando an:
Eine Aktualisierung führt ein einfaches
git fetch
im jeweiligen Verzeichnis durch.
Damit wären die grundlegenden Zutaten vorhanden. Dieses Skript bekommt als Parameter das Verzeichnis, in dem die .git-Repos liegen; es prüft jedes davon, ob es ein Remote Repository namens origin besitzt - falls ja, aktualisiert es das Repo. Das ganze per Cronjob aufgerufen - et voilà, fertig!