【问题标题】:Git, find remote branch where file contains textGit,找到文件包含文本的远程分支
【发布时间】:2018-01-22 00:10:32
【问题描述】:

我想找到远程分支的名称,其中java类Foo有一个方法byte[] getByteArray()

由于有很多远程分支,我不想先在本地检查它们并grep每个(直到有命令拉出所有远程分支)。

git 是否提供一些功能来扫描所有远程分支(不一定在本地拉取)并找到添加特定方法的分支(或任何分支中的最新提交),它存在于类中或被删除的位置?通过 java-type 感知方式或字符串匹配。

【问题讨论】:

  • “我不想检查它们并使用 grep” - 为什么不呢?这就像 4 行 Bash 之类的。
  • 您不必签出文件,但需要获取它们

标签: java git grep


【解决方案1】:

像下面这样的命令应该显示它当前存在的位置

git fetch origin
git for-each-ref refs/remotes/origin|while read sha type ref; do if git grep -q getByteArray "$sha" -- src/com/mycompany/myproject/Foo.java ; then echo "found in $ref"; fi; done

替换为您的路径和远程名称

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-12
    • 2016-05-07
    • 1970-01-01
    • 2012-07-18
    • 2014-09-21
    • 2012-05-16
    • 1970-01-01
    • 2017-03-04
    相关资源
    最近更新 更多