Answers:
您可能需要Shell访问托管git-daemon的计算机并查看用于调用git-daemon的参数,或者使用称为GitWeb的Git Web前端(资源库浏览器)。
另请参阅此现有问题
还有另一种方法,但是需要公司服务器管理员的帮助。Git具有一个可浏览的Web前端,称为“ GitWeb”,可以将其配置为显示git服务的所有项目。
详细信息在GitWeb自述文件中进行了说明-感兴趣的配置键称为“ 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
,您可以查看配置以查看保留其repos的位置并列出该目录的内容。HEAD
(例如locate HEAD | grep \/HEAD$
)的文件的所有目录来找到它们,但这可能会产生误报,并且还会显示所有仅为本地工作目录且未共享或从其克隆的存储库另一个来源。