É 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.

Peter Alfvin
fonte
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/

Orangenhain
fonte
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 ).

kenorb
fonte
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?

Kamiccolo
fonte
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.

Nagev
fonte
8

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

Andy Lester
fonte
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 ------------------------------------+
MaxChinni
fonte
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 .

Penny Liu
fonte
-3

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

ajain
fonte
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