E você tem muitos outros exemplos de pesquisa, com base em seguidores , garfos ou ...
Atualização em julho de 2012 (os velhos tempos de pesquisa do Lucene e indexação de código ruim, combinados com GUI quebrada, mantidos aqui para arquivamento):
A pesquisa (com base no SolrQuerySyntax ) agora é mais permissiva e o temido " Invalid search query. Try quoting it." desapareceu ao usar o seletor de pesquisa padrão "Tudo" :)
Aqui está uma ilustração de um grep no código ruby: ele procura repositórios e usuários, mas também o que eu queria pesquisar em primeiro lugar: o código!
Resposta inicial e ilustração da edição anterior (setembro de 2012 => março de 2012)
Escolha Code, Repositoriesou Usersa partir do drop-down e
use os prefixos correspondentes listados para esse tipo de pesquisa .
Por exemplo, use a repo:username/repo-namediretiva para limitar a pesquisa a um repositório de códigos .
A Advanced Searchpágina inicial " " inclui a seção:
Pesquisa de código :
A pesquisa de código examinará todo o código hospedado publicamente no GitHub. Você também pode filtrar por:
o idioma language:
o nome do repositório (incluindo o nome de usuário) repo:
o caminho do arquivo path:
Portanto, se você selecionar o " Code" seletor de pesquisa, sua consulta para um texto em um repositório funcionará:
O que é incrivelmente inútil no GitHub é o seguinte:
se você esquecer de colocar o seletor de pesquisa correto (aqui " Code"), receberá uma mensagem de erro:
" Invalid search query. Try quoting it."
a mensagem de erro não ajuda em nada.
Nenhuma quantidade de " quoting it" fará com que você saia deste erro.
depois de receber a mensagem de erro, você não obtém as seções que lembram a associação correta entre os seletores de pesquisa (" Repositories", " Users" ou " Language") e os filtros de pesquisa (certos) (aqui " repo:").
Qualquer outra tentativa que você fizer não exibirá essas associações (seletores-filtros) de volta. Somente a mensagem de erro exibida acima ...
A única maneira de recuperar essas matrizes é clicando no Advance Searchícone " ":
o " Everything" seletor de pesquisa, que é o padrão, é realmente o incorreto para todos os filtros de pesquisa! Exceto " language:" ...
(Você pode imaginar / supor que " Everything" o ajudaria a escolher o seletor de pesquisa que realmente funciona com o filtro de pesquisa " repo:", mas não. Isso seria muito fácil)
você não pode especificar o seletor de pesquisa que deseja através do Advance Searchcampo " " sozinho!
(mas você pode " language:", mesmo que " Search Language" seja outra caixa de combinação logo abaixo da " Search for" 'digite' uma ...)
Portanto, a experiência do usuário geralmente é a seguinte:
você clica em " Advanced Search", olha as seções de filtros e percebe uma que deseja usar: " repo:"
você faz uma primeira pesquisa avançada " repo:jruby/jruby stat", mas com o seletor de pesquisa padrão " Everything"
=> FAIL! (e as matrizes que exibem a associação "Seletores-Filtros" desapareceram )
você percebe que "Pesquisar por" seletor, selecione a primeira opção " Repositories" ("Dah! Eu quero pesquisar nos repositórios ...")
=> FAIL!
desanimado, você seleciona a próxima opção de seletores (aqui, " Users"), sem sequer olhar para o seletor, apenas para tentar mais uma vez ...
=> FAIL!
"Dane-se, a pesquisa do GitHub está quebrada ! Estou fora daqui!"
... (Na verdade, a pesquisa avançada do GitHub não está quebrada. Somente a GUI é ...)
Então, para recapitular, se você deseja "procurar algo dentro do código de um projeto do Github", como o OP Ben Humphreys , não se esqueça de selecionar o Codeseletor de pesquisa " " ...
FWIW Entrei em contato com o GitHub porque não obtive nenhum resultado de pesquisa ao restringir as pesquisas aos meus repositórios. Tim Pease respondeu que eles estavam tendo dificuldades com o volume de índices de recompra, então eles estavam migrando para servidores de índice fragmentados. Não há ETA ativado quando todos os repositórios serão migrados.
M. Dudley
3
Acabei de usar o conselho desta resposta e está funcionando para mim também, mas tenho uma ressalva a acrescentar. O nome do repositório deve sempre estar em letras minúsculas, mesmo que o GitHib o liste em qualquer outro lugar de uma maneira diferente. Por exemplo, (após definir o menu suspenso Código, etc, como acima), tente a mesma pesquisa com: repo: wordpress / wordpress vs repo: WordPress / WordPress ... apenas o primeiro produzirá resultados.
ethanpil
22
Repositórios particulares recentes têm um campo de pesquisa para pesquisar nesse repositório.
Surpreendentemente, parece que essa funcionalidade não está disponível para repositórios públicos.
Gostaria de saber se esta é uma medida humilde comercial para fazer as pessoas atualizarem para a versão paga? Não soa como github, mas ainda assim.
214 Sylvain
3
@Sylvain Não acho que isso seja feito como um incentivo para a atualização, pois mesmo após a atualização, você não terá esse campo de pesquisa para repositórios públicos. Em vez disso, acho que a pesquisa principal usa um índice que não inclui repositórios particulares e, assim, você não perde a funcionalidade ao pagar por um repositório privado, eles tiveram que adicionar outra maneira de pesquisar apenas nesse repositório privado, daí o adicional campo de texto.
29512 avernet
2
Imagine a sobrecarga deles tendo um índice de pesquisa para cada linha de código em cada repositório! Insano! É por isso que eles só fazem isso para repos privadas ..
Jonny Nott
1
A pesquisa está agora no cabeçalho, igual à pesquisa global.
Tib
20
ATUALIZAR
O corte de bookmarklet abaixo está quebrado devido a problemas de XHR e alterações de API.
Salve a fonte acima como o URL de um novo marcador. Navegue até qualquer repositório do Github, clique no marcador e bam : pesquisa de código ajaxificado in-page .
O CAVEAT Github deve indexar um repositório antes que você possa pesquisá-lo.
Abracadabra...
Aqui está uma amostra de pesquisa do repositório de especificação anotado do ECMAScript 5.1:
Quando uso o plug-in (Chrome), ele funciona bem no repositório scratchdot / github-code-search, mas não em nenhum outro repositório.
forforf
Ele deve funcionar na página inicial de qualquer repositório. Talvez você esteja tentando em uma página diferente? Publiquei uma captura de tela de uma pesquisa de amostra em um repositório diferente em minha postagem.
FNY
Aha! Na verdade, descobri por que essas pesquisas falharam: um repositório deve esperar sua vez para indexar. Dado o zilhão de repositórios ativos, suspeito que isso demore um pouco.
FNY
2
@ user456584 são novidades para mim. Convém informar o Google e a Mozilla também.
FNY
2
Eu descobri por que o plugin não está funcionando, é porque o nome do repositório precisa estar em letras minúsculas. (Veja meu comentário à resposta do VonC acima). Eu já enviei um patch no GitHub, espero que o autor original o veja. github.com/skratchdot/github-code-search.user.js/pull/5
ethanpil
10
Embora a resposta do @ VonC funcione para alguns repositórios, infelizmente para muitos repositórios você não pode no momento. O Github simplesmente não os indexa (como comentado originalmente por @emddudley). Eles não declararam isso em nenhum lugar do site, mas informarão se você solicitar suporte:
De: Tim Pease
Paramos de adicionar código recém-enviado ao nosso índice de pesquisa de código. O volume de código superou o nosso índice de pesquisa atual e estamos trabalhando para mudar para uma arquitetura de pesquisa mais escalável. Sinto muito pelo aborrecimento. Não temos uma estimativa de quando esse novo índice de pesquisa estará em funcionamento, mas quando estiver pronto, uma postagem no blog será publicada (https://github.com/blog).
Irritantemente, não há como saber quais repositórios não estão indexados, a não ser a falta de resultados (que também podem ser de uma consulta incorreta).
Também não há como rastrear esse problema além de esperar pelo blog (ou assistir aqui no SO).
De: Tim Pease
Acho que nosso rastreador de problemas é interno, mas podemos notificá-lo assim que o novo índice de pesquisa estiver em funcionamento.
Eles devem pelo menos mencionar que alguns resultados da pesquisa podem ser omitidos. É péssimo quando refato o código e procuro ocorrências de código que existem, mas não são mencionadas pelo GitHub.
Nicodemuz
2
O Google permite que você pesquise no projeto, mas não o código :(
Pesquisei o código-fonte dentro dos repositórios do Github com a extensão gratuita do Sourcegraph Chrome
... Mas baixei o Chrome Primeiro , eu sabia que outros navegadores o suportam, como - e talvez apenas - o Firefox.
Respostas:
Atualização em janeiro de 2013: chegou uma nova pesquisa! , com base no elasticsearch.org :
Uma pesquisa por stat no repositório ruby será expressa como
stat repo:ruby/ruby
e agora funcionará apenas como TM .(o nome do repo não diferencia maiúsculas de minúsculas:
test repo:wordpress/wordpress
retorna o mesmo quetest repo:Wordpress/Wordpress
)Darei:
E você tem muitos outros exemplos de pesquisa, com base em seguidores , garfos ou ...
Atualização em julho de 2012 (os velhos tempos de pesquisa do Lucene e indexação de código ruim, combinados com GUI quebrada, mantidos aqui para arquivamento):
A pesquisa (com base no SolrQuerySyntax ) agora é mais permissiva e o temido "
Invalid search query. Try quoting it.
" desapareceu ao usar o seletor de pesquisa padrão "Tudo" :)(Suponho que todos nós possamos, além de Tim Pease , que tinha um de seus objetivos "invadir experiências de pesquisa aprimoradas para todas as propriedades do GitHub " e mencionei essa pergunta sobre estouro de pilha na época;)
Aqui está uma ilustração de um grep no código ruby: ele procura repositórios e usuários, mas também o que eu queria pesquisar em primeiro lugar: o código!
Resposta inicial e ilustração da edição anterior (setembro de 2012 => março de 2012)
Você pode usar o formulário GitHub de pesquisa avançada :
Code
,Repositories
ouUsers
a partir do drop-down ePor exemplo, use a
repo:username/repo-name
diretiva para limitar a pesquisa a um repositório de códigos .A
Advanced Search
página inicial " " inclui a seção:Portanto, se você selecionar o "
Code
" seletor de pesquisa, sua consulta para um texto em um repositório funcionará:O que é incrivelmente inútil no GitHub é o seguinte:
Code
"), receberá uma mensagem de erro:"
Invalid search query. Try quoting it.
"a mensagem de erro não ajuda em nada.
Nenhuma quantidade de "
quoting it
" fará com que você saia deste erro.depois de receber a mensagem de erro, você não obtém as seções que lembram a associação correta entre os seletores de pesquisa ("
Repositories
", "Users
" ou "Language
") e os filtros de pesquisa (certos) (aqui "repo:
").Qualquer outra tentativa que você fizer não exibirá essas associações (seletores-filtros) de volta. Somente a mensagem de erro exibida acima ...
A única maneira de recuperar essas matrizes é clicando no
Advance Search
ícone " ":o "
Everything
" seletor de pesquisa, que é o padrão, é realmente o incorreto para todos os filtros de pesquisa! Exceto "language:
" ...(Você pode imaginar / supor que "
Everything
" o ajudaria a escolher o seletor de pesquisa que realmente funciona com o filtro de pesquisa "repo:
", mas não. Isso seria muito fácil)você não pode especificar o seletor de pesquisa que deseja através do
Advance Search
campo " " sozinho!(mas você pode "
language:
", mesmo que "Search Language
" seja outra caixa de combinação logo abaixo da "Search for
" 'digite' uma ...)Portanto, a experiência do usuário geralmente é a seguinte:
Advanced Search
", olha as seções de filtros e percebe uma que deseja usar: "repo:
"repo:jruby/jruby stat
", mas com o seletor de pesquisa padrão "Everything
"=>
FAIL
! (e as matrizes que exibem a associação "Seletores-Filtros" desapareceram )Repositories
" ("Dah! Eu quero pesquisar nos repositórios ...")=>
FAIL
!Users
"), sem sequer olhar para o seletor, apenas para tentar mais uma vez ...=>
FAIL
!...
(Na verdade, a pesquisa avançada do GitHub não está quebrada. Somente a GUI é ...)
Então, para recapitular, se você deseja "procurar algo dentro do código de um projeto do Github", como o OP Ben Humphreys , não se esqueça de selecionar o
Code
seletor de pesquisa " " ...fonte
repo:"jruby/jruby" stat
repo:"jruby" stat
jruby: stat
nenhum dos quais funciona #Repositórios particulares recentes têm um campo de pesquisa para pesquisar nesse repositório.
Surpreendentemente, parece que essa funcionalidade não está disponível para repositórios públicos.
fonte
ATUALIZAR
O corte de bookmarklet abaixo está quebrado devido a problemas de XHR e alterações de API.
Felizmente, o Github agora tem "Uma pesquisa de código totalmente nova", que faz o trabalho de maneira excelente.
fonte
Embora a resposta do @ VonC funcione para alguns repositórios, infelizmente para muitos repositórios você não pode no momento. O Github simplesmente não os indexa (como comentado originalmente por @emddudley). Eles não declararam isso em nenhum lugar do site, mas informarão se você solicitar suporte:
Irritantemente, não há como saber quais repositórios não estão indexados, a não ser a falta de resultados (que também podem ser de uma consulta incorreta).
Também não há como rastrear esse problema além de esperar pelo blog (ou assistir aqui no SO).
fonte
O Google permite que você pesquise no projeto, mas não o código :(
site: https: //github.com/CreateJS/EaselJS test
fonte
Pesquisei o código-fonte dentro dos repositórios do Github com a extensão gratuita do Sourcegraph Chrome ... Mas baixei o Chrome Primeiro , eu sabia que outros navegadores o suportam, como - e talvez apenas - o Firefox.
Passei os olhos pelos documentos de extensão do Chrome do SourceForge e também procurei o que precisava para procurar nomes de diretório com o próprio mecanismo de pesquisa do Github, lendo alguns dos documentos de pesquisa em codebase do Github
fonte