回答:
コマンドを使用して、構成済みのリモートURLのリストを取得できますgit remote -v
。
これにより、次のようなものが得られます。
base /home/***/htdocs/base (fetch)
base /home/***/htdocs/base (push)
origin git@bitbucket.org:*** (fetch)
origin git@bitbucket.org:*** (push)
-v
「冗長」は実際にはより一般的なオプションです。でもサポートされていgit branch
ます。基本的な違いは、短いオプションと長いオプション(基本的にはシングルダッシュとダブルダッシュ)です。つまり、remote
サブコマンドで--listをサポートすることには意味があります。本当に必要な場合は、機能のリクエストを送信してください。
これまでの回答は、既存のブランチを見つける方法を示しています。
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経由で渡すのではなく、お互いのリポジトリに直接アクセスしている場合に便利です。
リモートブランチを確認する簡単な方法は次のとおりです。
git branch -r
ローカル支店を表示するには:
git branch -l
git ls-remote
上流のサーバー(git-scm.com/docs/git-ls-remote)から取得できるすべてのリモートが表示されます。このページのすべての回答は、すでにフェッチしたリモートと追跡ブランチを一覧表示する方法、つまりCatch-22のみを説明していると思います。上流のサーバーでリモートを参照する方法がわかるまで、リモートをフェッチすることはできません。
これらの方法はどれも、質問者が求めている方法では機能せず、私もしばしば必要としてきました。例えば:
$ 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の問題がわかります。それでもまだいいです。
git remote -v
-vは冗長なためです。git remote
リモートの単純なリストを提供します(この場合、ベース、オリジン)。-vオプションには、各リモートのフェッチ操作とプッシュ操作の両方のURLが含まれます。