git - 在远程存储库中搜索文件名/内容
问题描述
是否可以在没有本地克隆的情况下搜索远程存储库中的文件?例如,给定这个项目的clone
URL,我可以在主分支中搜索具有特定名称的文件吗?包含特定字符串的文件?
git-ls-remote
似乎它有点接近我想要的,但是将它与git-ls-files
或git-grep
不起作用(SO帖子展示了如何在存储库的本地实例上使用这些来完成相同的任务)
git ls-remote https://github.com/Vincit/objection.js.git ls-files '*/mixin.js'
只是返回到命令提示符,根本不打印任何输出、错误或其他。
解决方案
是否可以在没有本地克隆的情况下搜索远程存储库中的文件?
目前的简短回答是“否”。
虽然ls-remote
看起来很有希望,但它只列出了引用,而不是文件。
您也不能以您尝试的方式组合 git 命令(除非所涉及的命令专门支持此类组合)。
除了只处理 refs 之外,尝试结合ls-remote
with的原因是ls-files
什么都不返回的原因是ls-files
命令行上的条目被命令解释ls-remote
为将输出限制为仅返回与“ls-files”(或“*/mixin”匹配的 refs .js”)。
没有,所以你没有输出。
如果您担心存储库的大小,您需要clone
在本地进行搜索,并且只对存储库的最新版本感兴趣,而不关心历史中可能存在但不再存在的文件等,你当然可以限制clone
到最新的版本,以避免克隆完整的回购和历史,使用--depth
参数例如:
git clone --depth=1 https://github.com/Vincit/objection.js.git
这并不能避免必须克隆,但它确实减少了这样做所涉及的工作量/时间。
推荐阅读
- python - 调整多个子图的 x 轴标签
- c++ - 如何更改 cmake protobuff 工作目录/路径?
- search - 在 VS Code 文件搜索中,我可以展开所有结果吗?
- html - Flickity 轮播卡片相互重叠
- sql-server - Sql Server - 如何在我的 SQL Select 语句中获取 JSON 嵌套值
- kubernetes - kubernetes networkpolicy 只允许外部流量到互联网
- python - Django Web 应用程序的多用户高效时间序列存储
- java - Java Eclipse中的Serializer()方法“未定义构造函数序列化器()”
- php - Eloquent:复合 WhereIn 条件
- c++ - 如何安排操作在未来时间运行