Antworten:
Mit dem Befehl können Sie eine Liste aller konfigurierten Remote-URLs abrufen git remote -v
.
Dies gibt Ihnen ungefähr Folgendes:
base /home/***/htdocs/base (fetch)
base /home/***/htdocs/base (push)
origin git@bitbucket.org:*** (fetch)
origin git@bitbucket.org:*** (push)
-v
für "wortreich" ist eigentlich die üblichere Option. Es wird auch von unterstützt git branch
. Der grundlegende Unterschied besteht in kurzen und langen Optionen (im Wesentlichen in einfachen oder doppelten Strichen). Allerdings remote
wäre es sinnvoll , --list mit dem Unterbefehl zu unterstützen. Wenn Sie es wirklich wollen, würde ich sagen, senden Sie eine Funktionsanfrage.
FWIW, ich hatte genau die gleiche Frage, aber ich konnte hier keine Antwort finden. Es ist wahrscheinlich nicht tragbar, aber zumindest für Capitolit kann ich Folgendes ausführen, um das zu bekommen, was ich will:
$ ssh git@git.xxx.com info
hello akim, this is gitolite 2.3-1 (Debian) running on git 1.7.10.4
the gitolite config gives you the following access:
R W android
R W bistro
R W checkpn
...
Die bisherigen Antworten zeigen Ihnen, wie Sie vorhandene Filialen finden:
git branch -r
Oder Repositorys für dasselbe Projekt [siehe Hinweis unten] :
git remote -v
Es gibt noch einen anderen Fall. Möglicherweise möchten Sie Informationen zu anderen Projekt-Repositorys erhalten, die auf demselben Server gehostet werden.
Um diese Informationen zu ermitteln, verwende ich SSH oder PuTTY , um mich beim Host anzumelden und ls
die Verzeichnisse zu finden, die die anderen Repositorys enthalten. Wenn ich beispielsweise ein Repository durch Eingabe von Folgendes geklont habe:
git clone ssh://git.mycompany.com/git/ABCProject
und um zu wissen, was noch verfügbar ist, logge ich mich über SSH oder PuTTY bei git.mycompany.com ein und tippe:
ls /git
Annahme ls
sagt:
ABCProject DEFProject
Ich kann den Befehl verwenden
git clone ssh://git.mycompany.com/git/DEFProject
um Zugang zum anderen Projekt zu erhalten.
HINWEIS:
git remote
Erzählt mir normalerweise nur vonorigin
- dem Repository, aus dem ich das Projekt geklont habe.git remote
Dies wäre praktisch, wenn Sie mit zwei oder mehr Personen zusammenarbeiten würden, die an demselben Projekt arbeiten und direkt auf die Repositorys des jeweils anderen zugreifen, anstatt alles über den Ursprung zu übertragen.
Eine einfache Möglichkeit, entfernte Zweige anzuzeigen, ist:
git branch -r
So sehen Sie lokale Niederlassungen:
git branch -l
git ls-remote
sollte Ihnen alle Fernbedienungen anzeigen, die zum Abrufen vom Upstream-Server verfügbar sind ( git-scm.com/docs/git-ls-remote ). Ich glaube, dass alle Antworten auf dieser Seite Ihnen nur sagen, wie Sie die Fernbedienungen und Verfolgungszweige auflisten, die Sie bereits abgerufen haben, was ein Catch-22 ist. Sie können eine Fernbedienung erst abrufen, wenn Sie wissen, wie Sie auf dem Upstream-Server darauf verweisen können.
Keine dieser Methoden funktioniert so, wie es der Fragesteller verlangt und was ich oft auch gebraucht habe. z.B:
$ git remote
fatal: Not a git repository (or any of the parent directories): .git
$ git remote user@bserver
fatal: Not a git repository (or any of the parent directories): .git
$ git remote user@server:/home/user
fatal: Not a git repository (or any of the parent directories): .git
$ git ls-remote
fatal: No remote configured to list refs from.
$ git ls-remote user@server:/home/user
fatal: '/home/user' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Der springende Punkt dabei ist, dass Sie außer dem Remote-Benutzer und dem Server keine Informationen haben und herausfinden möchten, auf was Sie Zugriff haben.
Bei den meisten Antworten wird davon ausgegangen, dass Sie Fragen innerhalb eines Git-Arbeitssatzes stellen. Der Fragesteller geht davon aus, dass Sie es nicht sind.
Angenommen, auf dem Server befindet sich ein Repository foo.git. Jemand in ihrer Weisheit entscheidet, dass er es in foo2.git ändern muss. Es wäre wirklich schön, eine Liste eines Git-Verzeichnisses auf dem Server zu erstellen. Und ja, ich sehe die Probleme für Git. Es wäre trotzdem schön zu haben.
git remote -v
weil -v für ausführlich ist.git remote
gibt eine einfache Liste von Fernbedienungen (Basis, Ursprung in diesem Fall). Die Option -v enthält die URL für Abruf- und Push-Vorgänge jeder Fernbedienung.