Git 如何在所有文件、所有分支机构、所有库存回购中搜索(grep)?

Git 如何在所有文件、所有分支机构、所有库存回购中搜索(grep)?,git,grep,bitbucket-server,Git,Grep,Bitbucket Server,我们有一个私有的Atlassian Bitbucket服务器(以前称为Stash)托管我们的git回购 我怎样才能搜索到对面 所有源文件 各行各业 在所有回购协议中 我真的很想避免在本地签出所有回购协议的过程,执行git pull,然后递归grep 一些插件可以在Atlassian的“企业搜索”中找到,但它们不适合我们 如果您已经让它工作,请分享设置它的步骤:):)我们还需要对所有隐藏项目进行搜索。考虑到各种选项,最好的实施方式是安装专用服务器。 服务器的crontab每10分钟运行一个脚本

我们有一个私有的Atlassian Bitbucket服务器(以前称为Stash)托管我们的git回购

我怎样才能搜索到对面

  • 所有源文件
  • 各行各业
  • 在所有回购协议中
我真的很想避免在本地签出所有回购协议的过程,执行
git pull
,然后递归
grep

一些插件可以在Atlassian的“企业搜索”中找到,但它们不适合我们


如果您已经让它工作,请分享设置它的步骤:):)

我们还需要对所有隐藏项目进行搜索。考虑到各种选项,最好的实施方式是安装专用服务器。
服务器的crontab每10分钟运行一个脚本,以执行以下操作:

  • 使用获取所有项目的列表
  • 对于每个项目,获取所有存储库(再次使用API)
  • 对于每个存储库,克隆或拉取(如果存在)
    • 如果需要每个分支,请查找所有分支并克隆每个分支
  • 所有源代码准备就绪后,运行OpenGrok索引
  • 它对我们非常有效,并且易于实现。
    我认为最终,这应该通过一个内置的附加组件来完成,但在当时,还没有找到


    我希望这能有所帮助。

    披露:我是比特桶(隐藏)产品经理

    正如其他人所建议的,这不是目前产品中可用的东西。好消息是,我们目前正在进行代码搜索。对于您的问题,坏消息是出于性能原因(并且因为这是我们研究中相对不常见的用例),我们只计划索引默认分支(通常是主分支)的尖端

    如果你能更详细地描述一下你正在努力实现的目标,我很乐意寻找替代方案


    一个选项是在服务器上的repo上编写一系列“git grep”命令(假设您有访问权限)。但是,这样做的风险由您自己承担,不支持对服务器上的回购进行任何直接操作。

    根据一项跟踪此情况的计划,代码搜索是Bitbucket server 4.6(也称为隐藏)中的内置功能。请参见右侧的。

    。我真的想避免“拉每一笔回购”的事情。你还考虑了其他的选择吗?如果每个克隆都已经被克隆了,那么它就很快就被移植了。我们也可以并行进行,所以速度非常快。其他选项主要是查找内置加载项(未找到)并实现我们自己的搜索。这一个怎么样,您尝试过吗?没有。我们没有尝试过,但您可以免费尝试,并在这里分享您的经验。嗨,罗格,谢谢您将自己作为一名知识渊博的内幕人士;)实际上,我们想要做的非常简单,在我们所有的repo(大约70+)中查找特定类、常量、依赖项或导入的用法。如果我们只能在默认分支(
    develope
    )上实现这一点,那么这并不是世界末日,尽管所有分支(或模式,如
    develope | master | release/*
    )都很好。您对这个“企业搜索”有ETA吗功能?我们现在使用的是隐藏3.5,我的同事昨天建议升级到bitbucket-这两个功能有很大不同吗(或者是市场名称的改变)?我们在这一阶段没有可以共享的时间表。建议升级到Bitbucket。除了主要版本升级带来的API更改外,基础产品没有显著变化,因此它应该熟悉我们在这一过程中添加的一些新功能。@rog您有关于此问题的更新,或者Atlassian内部的罚单吗跟踪进度?太好了,谢谢你,Jon,我将在周一尝试升级。现在市场上有一个付费插件,它为隐藏(Bitbucket)添加了搜索功能。