É possível procurar um nome de arquivo específico no GitHub?


135

Eu sei que a interface da web do GitHub permite pesquisar todos os repositórios em busca de arquivos com um nome de caminho específico (por exemplo, pesquisar path:/app/models/user.rbrendimentos> 109k resultados), mas existe uma maneira de pesquisar em todos os repositórios por nomes de arquivos independentemente da localização do subdiretório? Tentei usar asteriscos no pathargumento, e isso não pareceu funcionar.


qual é o comando que você executa? temos de tentar com lsem vez de descoberta
— meda

1
Eu estava me referindo à interface da web - foi tudo o que tentei.
— Peter Alfvin

8
Para quem votou mal, não tenho noção do motivo. Eu sei que essa não é uma "questão de programação", mas parece uma questão de "ferramentas de programação" e existem outras perguntas no github no site. Se for sobre a qualidade das perguntas, eu gostaria de receber mais informações ou votar para fechar para que eu possa ver o que você está se referindo.
— Peter Alfvin

Respostas:


108

A pesquisa user.rb in:path faz o que você quer fazer? Como alternativa, há também essa pesquisa filename:user.rb

Encontrado em: https://help.github.com/articles/searching-code/


3
o uso in:path YOUR_FILENAME_HEREfunciona muito bem - e, o que é mais importante, funciona como repositório cruzado, para que você possa pesquisar todo o repositório de organizações para descobrir quais repositórios contêm um determinado nome de arquivo. Agradável!
— 22416 Brad Parks

1
Isto não é mais possível. As pesquisas vinculadas retornam o seguinte erro: "Não foi possível realizar esta pesquisa. Deve incluir pelo menos um usuário, organização ou repositório"
— hedgie

2
Sim, eles fazem ... você só precisa estar logado no GitHub para que funcione. Não sei quando eles mudaram isso. É um problema geral para pesquisa de código, não apenas para pesquisas específicas.
— Orangenhain

É uma pena que apenas "path contém essa string em qualquer lugar" e não goste de nomes de arquivo ou algo assim: |
— Rogerdpack 17/05/19

56

Na entrada de pesquisa, você pode usar o filenameparâmetro para procurar em vários repositórios, por exemplo:

filename:my_filename.txt

Se você estiver procurando por um nome de arquivo em um repositório específico, basta pressionar te começar a digitar o nome do arquivo (consulte: Atalhos de teclado do GH ).


2
Essa é a resposta correta. Observe que não há espaços na consulta.
— Erik

30

O GitHub introduziu o FileFinder em 2011.

Experimente: basta pressionar t na exibição de qualquer arquivo ou diretório de repositório. [1]

Então, você ainda está restrito ao repositório.

[1] https://github.com/blog/793-introducing-the-file-finder

Outra abordagem para sua pergunta:

Posso usar o Git para procurar nomes de arquivos correspondentes em um repositório?


1
Sim, eu sabia disso e deveria ter mencionado isso na minha pergunta. Portanto, não há como pesquisar nos repositórios? Caso contrário, você sabe se existe alguma razão técnica para não fazê-lo?
— Peter Alfvin

4
oh, então você some_weird_file_Youre_looking_for.ext in:pathtambém tentou ? Porque ele funciona para mim ...
— Kamiccolo

não, mas eu apenas tentei path:user.rbe isso só me deu 324 resultados, todos os que tiveram user.rbno nível superior.
— Peter Alfvin

E parece que seus resultados também index.phpestão no nível superior.
— Peter Alfvin

1
@ Kamiccolo, você deve postar isso como resposta, porque essa é exatamente a resposta certa! Peter Alfvin também deve aceitá-lo ... a parte importante está em: path. Verificou que ele funciona, não importa onde o nome do arquivo esteja no caminho também, não apenas para arquivos de nível superior.
— Sam Salisbury

11

No meu caso, eu queria procurar um nome de arquivo específico, em todos os repositórios da minha organização. Isso pode ser feito digitando-o na caixa de pesquisa:

org: nome-do-usuário-da-sua organização nome-do- arquivo: nome- do-arquivo

Claro, basta fazer "filename: the-file-name" se você deseja pesquisar em todo o GitHub.

Eu não vi isso em https://help.github.com/articles/searching-code/, mas descobri quando mudei de contexto e o GitHub inseriu o filtro para mim automaticamente.


8

Você pode experimentar o Google. Google para filename.txt site:github.com.


1
+1 pelo que eu assumo corresponde não apenas aos nomes de arquivos atuais, mas a qualquer arquivo que inclua esse texto, bem como a alguns nomes de arquivos de versões anteriores dos repositórios.
— Peter Alfvin

5

Refinei a resposta @ andy-lester com intitle:, ou seja, quero descobrir onde está localizado o arquivo simple_spinner_item.xmlno código-fonte do Android hospedado no github, então pesquiso no Google esta string:

site:github.com intitle:simple_spinner_item.xml github.com/android

^                       ^                       ^
|                       |                       |
on github site          |                       |
                        |                       |
filename I'm searching -+                       |
                                                |
github user ------------------------------------+

0

Gostaria de esclarecer a resposta de @ajain .

  1. Na interface de usuário da Web do Github, você já deve estar na exibição de diretório do Reop.

insira a descrição da imagem aqui


  1. Em seguida, pressione a Ttecla Um localizador de arquivos é exibido.

insira a descrição da imagem aqui


  1. Digite um nome de arquivo para abri-lo.

insira a descrição da imagem aqui


Mais atalhos para navegação no código fonte .


-3

Basta pressionar "t" e ele permitirá que você pesquise um arquivo.


1
Um pouco de esclarecimento: você já deve estar na visualização de diretório do Reop. Veja a resposta de @ Kamiccolo abaixo
— tfantina 5/11/19
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.