回答:
git-daemonをホストしているマシンへのシェルアクセスが必要であり、git-daemonの呼び出しに使用されるパラメーターを確認するか、GitWebと呼ばれるGit Webフロントエンド(リポジトリブラウザー)を使用します。
この既存の質問も参照してください
他にも1つの方法がありますが、企業のサーバー管理者の支援が必要です。Gitは、「GitWeb」と呼ばれるブラウズ可能なWebフロントエンドを備えており、gitが提供するすべてのプロジェクトを表示するように構成できます。
詳細はGitWebのREADMEで説明されています-関心のある設定キーは「GITWEB_PROJECTROOT」と呼ばれます:
GITWEB_PROJECTROOT The root directory for all projects shown by gitweb. Must be set correctly for gitweb to find repositories to display. See also "Gitweb repositories" in the INSTALL file for gitweb.
おそらく管理者と話をすることができます-gitwebはすべての開発者にとって大きな利益になります。
私が知る限り、これはgit-daemonを実行しているマシンで実行する必要があります。git-daemonが呼び出された引数を確認するか、または/etc/inetd.confを確認する必要があります
リモートマシンへのシェルアクセスがあったためfabric
、ターミナルから実行してすべてのリモートリポジトリを一覧表示できる小さなスクリプトを作成することになりました。
#!/bin/python
from fabric.api import run, env
from fabric.colors import green
env.hosts = ['<hostname>'];
env.user = '<user>';
env.password = '<password>';
def lr():
"Lists all remote repositories"
print(green("listing remote repos"))
run('cd /var/git; ls -al')
ターミナルから次のコマンドを発行して、すべてのリモートリポジトリを一覧表示できるようになりました。
fab lr
/var/git
。これは一般的なケースですが、常にそうであるとは限りません。
これは、これらのリポジトリへのアクセス方法に大きく依存しているため、実際には単純な万能の答えはありません。
git-daemon
および/またはによって提供されている場合、構成gitweb
を見て、リポジトリの保存場所を確認し、そのディレクトリの内容を一覧表示できます。HEAD
(たとえばlocate HEAD | grep \/HEAD$
)という名前のファイルを含むシステム上のすべてのディレクトリを検索することでそれらを見つけることができるはずですが、これは誤検知を引き起こす可能性があり、ローカル作業ディレクトリのみで共有されていない、またはクローンされたリポジトリも表示されます別のソース。