Lijst met afstandsbedieningen voor een Git-repository?

Ik heb een Git-repository. Deze repository heeft meerdere remote repositories (denk ik). Hoe kan ik een lijst krijgen van de externe repositories die bij de repository horen?

Zoals git list --remotesof iets dergelijks?


Antwoord 1, autoriteit 100%

Je kunt een lijst krijgen van alle geconfigureerde externe URL’s met het commando git remote -v.

Dit geeft je zoiets als het volgende:

base    /home/***/htdocs/base (fetch)
base    /home/***/htdocs/base (push)
origin  [email protected]:*** (fetch)
origin  [email protected]:*** (push)

Antwoord 2, autoriteit 10%

Als je alleen de namen van de externe opslagplaatsen nodig hebt (en niet de andere gegevens), is een simpele git remotevoldoende.

$ git remote
iqandreas
octopress
origin

Antwoord 3, autoriteit 4%

FWIW, ik had precies dezelfde vraag, maar ik kon het antwoord hier niet vinden. Het is waarschijnlijk niet draagbaar, maar voor Gitolite kan ik het volgende uitvoeren om te krijgen wat ik wil:

$ ssh [email protected] 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
...

Antwoord 4, autoriteit 3%

De antwoorden tot nu toe vertellen u hoe u bestaande vestigingen kunt vinden:

git branch -r

Of repositories voor hetzelfde project [zie opmerking hieronder]:

git remote -v

Er is nog een geval. Misschien wil je meer weten over andere projectrepository’s die op dezelfde server worden gehost.

Om die informatie te ontdekken, gebruik ik SSH of PuTTYom in te loggen op host en lsom de mappen te vinden die de andere repositories bevatten. Als ik bijvoorbeeld een repository heb gekloond door te typen:

git clone ssh://git.mycompany.com/git/ABCProject

en wil weten wat er nog meer beschikbaar is, log ik in op git.mycompany.com via SSH of PuTTY en typ:

ls /git

ervan uitgaande dat lszegt:

ABCProject DEFProject

Ik kan het commando gebruiken

git clone ssh://git.mycompany.com/git/DEFProject

om toegang te krijgen tot het andere project.

OPMERKING: Gewoonlijk vertelt git remoteme gewoon over origin— de repository van waaruit ik het project heb gekloond. git remotezou handig zijn als je samenwerkt met twee of meer mensen die aan hetzelfde project werken en rechtstreeks toegang hebben tot elkaars repositories in plaats van alles via origin door te geven.


Antwoord 5, autoriteit 2%

Een eenvoudige manier om vertakkingen te zien is:

git branch -r

Om lokale vestigingen te zien:

git branch -l

Antwoord 6

Geen van deze methoden werkt zoals de vraagsteller vraagt en waar ik ook vaak behoefte aan heb gehad. bv:

$ 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.

Het hele punt van dit te doen is dat je geen informatie hebt behalve de
externe gebruiker en server en wilt weten waartoe u toegang heeft.

De meeste antwoorden gaan ervan uit dat je een query uitvoert vanuit een git-werkset.
De vraagsteller gaat ervan uit dat u dat niet bent.

Neem als praktisch voorbeeld aan dat er een repository foo.git op de server was.
Iemand in hun wijsheid besluit dat ze het moeten veranderen in foo2.git. Het zou
echt leuk zijn om een lijst van een git directory op de server te maken. En ja, ik zie het
de problemen voor git. Het zou echter nog steeds leuk zijn om te hebben.

Other episodes