跨所有Git项目的文件搜索

3

我想在所有 Git 远程项目的主分支中搜索特定的文件扩展名。

有没有相应的命令可以实现?克隆所有项目到本地会花费很多时间。


这里涉及多少个存储库?如果您进行浅层克隆,可能需要的时间并不像您想象的那样长。 - Vishwanath
总共有34个项目,每个项目平均包含8-10个代码库。 - Vivek Jaiswal
你有所有仓库的URL吗?如果我们编写一个脚本自动完成这一切,会怎样呢?克隆并列出感兴趣的文件。 - Vishwanath
但问题是我需要浏览所有 350 个存储库以获取 URL。 - Vivek Jaiswal
你在问题标签中同时标记了gitlab和github。你使用的是哪个产品?你可能可以利用版本控制服务器的功能来解决这个问题... - sytech
@sytech 我没有打标签。这是被编辑过的。我正在使用 TFS 2018。 - Vivek Jaiswal
3个回答

2
在TFS 2018中,我发现可以使用“按范围过滤(file:)”选项进行搜索。它具有所有必要的过滤器(例如分支、仓库)。这解决了我的问题。使用相同的搜索,我能够在每个文件中找到字符串。

1
很遗憾,你必须依赖于主机平台提供的工具:Gitlab、Github或其他工具。
作为替代方案,你应该建立一个远程仓库列表,然后通过远程搜索来查找:
git log origin/master ...search options...

0

GitHub和GitLab都有相应的搜索功能。

如果你需要一个本地/git解决方案,克隆存储库可能是你最好的选择,具体取决于你需要从存储库内容中获取什么信息。有一个名为all-repos的工具可以帮助你完成这个任务。它提供了一个最小化的配置,用于发现和自动化处理多个存储库。它还包括像all-repos-find-filesall-repos-grep等工具。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接