List of remotes for a Git repository?

I have a Git repository. This repository has multiple remote repositories (I think). How can I get a list of the remote repositories that belong to said repository?

Like git list --remotes or something like that?

0

6 Answers

You can get a list of any configured remote URLs with the command git remote -v.

This will give you something like the following:

base /home/***/htdocs/base (fetch) base /home/***/htdocs/base (push) origin :*** (fetch) origin :*** (push) 
5

If you only need the names of the remote repositories (and not any of the other data), a simple git remote is enough.

$ git remote iqandreas octopress origin 

The answers so far tell you how to find existing branches:

git branch -r 

Or repositories for the same project [see note below]:

git remote -v 

There is another case. You might want to know about other project repositories hosted on the same server.

To discover that information, I use SSH or PuTTY to log into to host and ls to find the directories containing the other repositories. For example, if I cloned a repository by typing:

git clone ssh:// 

and want to know what else is available, I log into git.mycompany.com via SSH or PuTTY and type:

ls /git 

assuming ls says:

 ABCProject DEFProject 

I can use the command

 git clone ssh:// 

to gain access to the other project.

NOTE: Usually git remote simply tells me about origin -- the repository from which I cloned the project. git remote would be handy if you were collaborating with two or more people working on the same project and accessing each other's repositories directly rather than passing everything through origin.

4

FWIW, I had exactly the same question, but I could not find the answer here. It's probably not portable, but at least for gitolite, I can run the following to get what I want:

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

A simple way to see remote branches is:

git branch -r 

To see local branches:

git branch -l 
2

None of those methods work the way the questioner is asking for and which I've often had a need for as well. eg:

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

The whole point of doing this is that you do not have any information except the remote user and server and want to find out what you have access to.

The majority of the answers assume you are querying from within a git working set. The questioner is assuming you are not.

As a practical example, assume there was a repository foo.git on the server. Someone in their wisdom decides they need to change it to foo2.git. It would really be nice to do a list of a git directory on the server. And yes, I see the problems for git. It would still be nice to have though.

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like