2012-04-17 127 views
316

我有一个git存储库。这个回购有多个远程仓库(我认为)。我如何获得属于上述回购的远程存储库列表?有些东西像git list --origins或类似的东西?git仓库的远程列表?

+1

您的意思是一个遥控器列表? – 2012-04-17 01:07:51

回答

412

您可以使用命令git remote -v获取任何已配置的远程URL的列表。

这会给你类似如下:

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

'git remote -v'因为-v是冗长的。 'git remote'给出了一个简单的遥控列表(在这种情况下是基地,起源)。 -v选项包括每个远程的提取和推送操作的url。 – dhj 2015-07-13 02:30:10

+1

我必须同意@AlexMills,如果它是git分支--list,它应该是git remote --list – jimmyb 2015-09-25 05:40:25

+0

'-v' for“verbose”实际上是比较常见的选项。它也受'git branch'的支持。基本的区别在于短期与长期的选择(本质上是单向与双向),也就是说,使用'remote'子命令支持--list是有意义的。如果你真的想要它,我会说提交功能请求。 – Randall 2016-03-18 18:55:34

34

如果你只需要远程仓库(而不是任何其他数据)的名字,一个简单的git remote就足够了。

$ git remote 
iqandreas 
octopress 
origin 
7

一个简单的方法,看看远程分支机构是:

git branch -r 

要了解当地的分支机构:

git branch -l 
+12

这是为远程分支机构;该用户要求远程_repos_。 – 2014-01-07 14:35:59

+1

'git ls-remote'应该向您显示所有可用于从上游服务器获取的遥控器(https://git-scm.com/docs/git-ls-remote)。我相信这个页面上的所有答案只会告诉你如何列出你已经获取的遥控和追踪分支,这是一个Catch-22。直到您知道如何在上游服务器上引用远程设备,您才能获取远程设备。 – 2016-10-27 00:07:48

25

FWIW,我有完全一样的问题,但我找不到在这里回答。它可能不是便携式的,但至少gitolite,我可以运行下面的来得到我想要的:

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

答案为止告诉你如何找到现有分行:

git branch -r 

或仓库同一项目[参见下面的注释]

git remote -v 

还有另一种情况。您可能想知道在同一台服务器上托管的其他项目存储库。

要发现这些信息,我使用ssh或putty登录到主机和ls以查找包含其他存储库的目录。例如,如果我通过键入克隆回购:

ls /git 

假设LS:

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

,想知道是可用的还有什么,我通过ssh或腻子型登录到git.mycompany.com说:

ABCProject DEFProject 

我可以使用命令

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

访问其他项目。

注:通常git remote简单地告诉我关于origin - 我从中克隆了一个项目库。如果你与两个或两个以上工作在同一个项目上的人合作,并直接访问彼此的存储库,而不是通过所有来源传递所有内容,那么这个方法将非常方便。

+0

这是一个更好的答案,因为它讨论了存储库而不是分支,并解释了如何列出不在当前检出的存储库中的存储库 – 2017-06-28 15:49:56