Um ein Git-Repository zu klonen, muss man den Namen des Repositorys haben. Bei der Arbeit mit vielen Repositorys kann es schwierig sein, sich die verschiedenen Namen zu merken. Daher frage ich mich, ob es möglich ist, alle vorhandenen Repositorys auf dem Remote-Server mit einem git-Befehl aufzulisten.
git
repository
Cyclonecode
quelle
quelle
Antworten:
Sie benötigen entweder Shell-Zugriff auf den Rechner, auf dem sich der Git-Daemon befindet, und sehen sich die Parameter an, mit denen der Git-Daemon aufgerufen wird, oder verwenden das Git-Web-Frontend (Repository-Browser) mit dem Namen GitWeb .
Verweisen Sie auch auf diese bestehende Frage
Details werden in der GitWeb README erklärt - der Konfigurationsschlüssel von Interesse heißt "GITWEB_PROJECTROOT":
Vielleicht könnten Sie mit Ihren Administratoren sprechen - Gitweb kann für alle Entwickler ein großer Gewinn sein.
quelle
Da ich Shell-Zugriff auf die Remote-Maschine hatte, schrieb ich ein kleines
fabric
Skript, das vom Terminal ausgeführt werden konnte, um alle Remote-Repositorys aufzulisten:Ich kann jetzt alle Remote-Repositorys auflisten, indem ich den folgenden Befehl vom Terminal aus gebe:
quelle
/var/git
. Dies ist zwar häufig der Fall, aber nicht immer der Fall.Dies hängt stark davon ab, wie auf diese Repositorys zugegriffen wird. Daher gibt es keine einfache Lösung, die alle Anforderungen erfüllt:
git-daemon
und / oder bereitgestellt werdengitweb
, können Sie in der Konfiguration nachsehen, wo sich die Repos befinden, und den Inhalt dieses Verzeichnisses auflisten.HEAD
(z. B.locate HEAD | grep \/HEAD$
) enthalten. Dies kann jedoch zu Fehlalarmen führen. Außerdem werden alle Repos angezeigt, die ausschließlich lokale Arbeitsverzeichnisse sind und nicht freigegeben oder von denen geklont wurden eine andere Quelle.quelle