Odpowiedzi:
Za pomocą polecenia możesz uzyskać listę dowolnych skonfigurowanych zdalnych adresów URL git remote -v.
To da ci coś takiego:
base /home/***/htdocs/base (fetch)
base /home/***/htdocs/base (push)
origin git@bitbucket.org:*** (fetch)
origin git@bitbucket.org:*** (push)
-v„verbose” jest w rzeczywistości bardziej powszechną opcją. Jest również obsługiwany przez git branch. Podstawową różnicą są krótkie i długie opcje (zasadniczo pojedyncza kontra podwójna kreska). To powiedziawszy, wspieranie listy z remotekomendą miałoby sens. Jeśli naprawdę tego chcesz, wyślij prośbę o dodanie funkcji.
FWIW, miałem dokładnie to samo pytanie, ale nie mogłem znaleźć tutaj odpowiedzi. Prawdopodobnie nie jest przenośny, ale przynajmniej w przypadku gitolitu mogę uruchomić następujące rzeczy, aby uzyskać to, czego chcę:
$ 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
...
Dotychczasowe odpowiedzi podpowiadają, jak znaleźć istniejące oddziały:
git branch -r
Lub repozytoria dla tego samego projektu [patrz uwaga poniżej] :
git remote -v
Jest inny przypadek. Możesz chcieć wiedzieć o innych repozytoriach projektów hostowanych na tym samym serwerze.
Aby odkryć te informacje, używam SSH lub PuTTY, aby zalogować się do hosta i lsznaleźć katalogi zawierające inne repozytoria. Na przykład, jeśli sklonowałem repozytorium, wpisując:
git clone ssh://git.mycompany.com/git/ABCProject
i chcę wiedzieć, co jeszcze jest dostępne, loguję się na git.mycompany.com przez SSH lub PuTTY i piszę:
ls /git
zakładając, lsmówi:
ABCProject DEFProject
Mogę użyć polecenia
git clone ssh://git.mycompany.com/git/DEFProject
aby uzyskać dostęp do innego projektu.
UWAGA: Zazwyczaj
git remotepo prostu mówi mi oorigin- repozytorium, z którego sklonowałem projekt.git remoteprzydałoby się, gdybyś współpracował z co najmniej dwiema osobami pracującymi nad tym samym projektem i bezpośrednio uzyskującymi dostęp do swoich repozytoriów, zamiast przekazywać wszystko przez pochodzenie.
Prostym sposobem na zobaczenie zdalnych gałęzi jest:
git branch -r
Aby zobaczyć lokalne oddziały:
git branch -l
git ls-remotepowinien pokazać ci wszystkie dostępne piloty do pobrania z serwera nadrzędnego ( git-scm.com/docs/git-ls-remote ). Uważam, że wszystkie odpowiedzi na tej stronie mówią tylko, jak wyświetlić listę pilotów i gałęzi śledzenia, które już pobrałeś, czyli Catch-22. Nie możesz pobrać pilota, dopóki nie wiesz, jak się do niego odwoływać na serwerze nadrzędnym.
Żadna z tych metod nie działa tak, jak pyta pytający i czego często też potrzebowałem. na przykład:
$ 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.
Chodzi o to, że nie masz żadnych informacji oprócz zdalnego użytkownika i serwera i chcesz dowiedzieć się, do czego masz dostęp.
Większość odpowiedzi zakłada, że odpytujesz z zestawu roboczego git. Pytający zakłada, że nie jesteś.
Jako praktyczny przykład załóżmy, że na serwerze istniało repozytorium foo.git. Ktoś w swojej mądrości decyduje, że musi go zmienić na foo2.git. Naprawdę miło byłoby zrobić listę katalogu git na serwerze. I tak, widzę problemy z git. Byłoby jednak miło mieć.
git remote -vponieważ -v jest za pełne.git remotepodaje prostą listę pilotów (podstawa, pochodzenie w tym przypadku). Opcja -v obejmuje adres URL operacji pobierania i wypychania każdego pilota.