Gitリポジトリのリモートのリスト?


542

Gitリポジトリがあります。このリポジトリには複数のリモートリポジトリがあります(私はそう思います)。上記のリポジトリに属する​​リモートリポジトリのリストを取得するにはどうすればよいですか?

同様git list --remotesまたはそのような何か?

回答:


750

コマンドを使用して、構成済みのリモートURLのリストを取得できますgit remote -v

これにより、次のようなものが得られます。

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

18
git remote -v-vは冗長なためです。 git remoteリモートの単純なリストを提供します(この場合、ベース、オリジン)。-vオプションには、各リモートのフェッチ操作とプッシュ操作の両方のURLが含まれます。
dhj 2015

2
@AlexMillsに同意する必要があります。それがgitブランチ--listの場合、それはgit remote --listである必要があります
jimmyb

1
-v「冗長」は実際にはより一般的なオプションです。でもサポートされていgit branchます。基本的な違いは、短いオプションと長いオプション(基本的にはシングルダッシュとダブルダッシュ)です。つまり、remoteサブコマンドで--listをサポートすることには意味があります。本当に必要な場合は、機能のリクエストを送信してください。
Randall

4
これには、すでにクローンを持っている必要があります。何をクローンするか、最初に何をクローンするを理解しようとすると、何か他のものが必要になります...
ミハイルT.

60

リモートリポジトリの名前だけが必要で(他のデータgit remoteは必要ない)場合は、単純なもので十分です。

$ git remote
iqandreas
octopress
origin

32

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

24

これまでの回答は、既存のブランチを見つける方法を示しています。

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同じプロジェクトで作業している2人以上の人と共同作業していて、すべてをorigin経由で渡すのではなく、お互いのリポジトリに直接アクセスしている場合に便利です。


2
それはむしろ枝よりも、リポジトリについて語り、どのように現在チェックアウトリポジトリに含まれていないリストリポジトリに説明するので、これは良い答えです
エドワード・ロス

16

リモートブランチを確認する簡単な方法は次のとおりです。

git branch -r

ローカル支店を表示するには:

git branch -l

15
これはリモートブランチ用です。ユーザーがリモートリポジトリを要求しました。
Owen Blacker 2014年

4
git ls-remote上流のサーバー(git-scm.com/docs/git-ls-remote)から取得できるすべてのリモートが表示されます。このページのすべての回答は、すでにフェッチしたリモートと追跡ブランチを一覧表示する方法、つまりCatch-22のみを説明していると思います。上流のサーバーでリモートを参照する方法がわかるまで、リモートをフェッチすることはできません。
Reb.Cabin 2016年

0

これらの方法はどれも、質問者が求めている方法では機能せず、私もしばしば必要としてきました。例えば:

$ 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の問題がわかります。それでもまだいいです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.