Git存储库的远程列表?

时间:2012-04-17 00:58:01

标签: git

我有一个Git存储库。这个存储库有多个远程存储库(我认为)。如何获取属于所述存储库的远程存储库列表?

git list --remotes之类的东西?

6 个答案:

答案 0 :(得分:594)

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

这将为您提供以下内容:

base    /home/***/htdocs/base (fetch)
base    /home/***/htdocs/base (push)
origin  git@bitbucket.org:*** (fetch)
origin  git@bitbucket.org:*** (push)

答案 1 :(得分:50)

如果您只需要远程存储库的名称(而不是任何其他数据),那么简单的git remote就足够了。

$ git remote
iqandreas
octopress
origin

答案 2 :(得分:29)

FWIW,我有完全相同的问题,但我在这里找不到答案。它可能不便携,但至少对于gitolite,我可以运行以下内容来获得我想要的东西:

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

答案 3 :(得分:16)

到目前为止,答案告诉您如何找到现有的分支机构:

git branch -r

或同一项目的存储库 [见下面的注释]

git remote -v

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

要发现该信息,我使用SSH或PuTTY登录到主机和ls以查找包含其他存储库的目录。例如,如果我通过键入以下来克隆存储库:

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

并且想知道还有什么可用,我通过SSH或PuTTY登录git.mycompany.com并输入:

ls /git

假设ls说:

 ABCProject DEFProject

我可以使用命令

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

获取对其他项目的访问权。

  

注意:通常git remote只是告诉我origin - 我克隆项目的存储库。 git remote如果你与两个或两个以上从事相同项目的人合作并直接访问彼此的存储库而不是通过原点传递所有内容,那么int[]] $randomNumbers;会很方便。

答案 4 :(得分:14)

查看远程分支的简单方法是:

git branch -r

查看当地分支机构:

git branch -l

答案 5 :(得分:2)

这些方法都无法按照发问者的要求以及我经常需要的方式工作。例如:

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

这样做的全部目的是,除了 远程用户和服务器,并希望找出您有权访问的内容。

大多数答案都假设您正在git工作集中进行查询。 发问者以为你不是。

作为一个实际示例,假定服务器上有一个存储库foo.git。 有人认为他们需要将其更改为foo2.git。它会 在服务器上做一个git目录列表真的很棒。是的,我明白了 git的问题。仍然很高兴。