Actualización de julio de 2012 (viejos días de búsqueda de Lucene e indexación de código deficiente, combinada con una GUI rota, guardada aquí para el archivo):
La búsqueda (basada en SolrQuerySyntax ) ahora es más permisiva y el temido " Invalid search query. Try quoting it." desaparece cuando se usa el selector de búsqueda predeterminado "Everything" :)
Aquí hay una ilustración de un grep dentro del código ruby: buscará repositorios y usuarios, pero también lo que quería buscar en primer lugar: ¡el código!
Respuesta inicial e ilustración del problema anterior (septiembre de 2012 => marzo de 2012)
Elija Code, Repositorieso Usersdel menú desplegable y
use los prefijos correspondientes listados para ese tipo de búsqueda .
Por ejemplo, use la repo:username/repo-namedirectiva para limitar la búsqueda a un repositorio de código .
La Advanced Searchpágina inicial " " incluye la sección:
Búsqueda de código :
La búsqueda de código buscará en todo el código alojado públicamente en GitHub. También puedes filtrar por:
el idioma language:
el nombre del repositorio (incluido el nombre de usuario) repo:
la ruta del archivo path:
Por lo tanto, si selecciona el " Code" selector de búsqueda, su búsqueda de un texto dentro de un repositorio funcionará:
Lo que es increíblemente inútil de GitHub es que:
si olvida colocar el selector de búsqueda correcto (aquí " Code"), recibirá un mensaje de error:
" Invalid search query. Try quoting it."
el mensaje de error no te ayuda en absoluto.
Ninguna cantidad de " quoting it" lo sacará de este error.
una vez que recibe ese mensaje de error, no obtiene las secciones que le recuerdan la asociación correcta entre los selectores de búsqueda (" Repositories", " Users" o " Language") y los filtros de búsqueda (derecha) (aquí " repo:").
Cualquier intento posterior que realice no mostrará esas asociaciones (selectores-filtros). Solo el mensaje de error que ve arriba ...
La única forma de recuperar esos arreglos es haciendo clic en el Advance Searchícono " ":
¡el " Everything" selector de búsqueda, que es el predeterminado, en realidad es el incorrecto para todos los filtros de búsqueda! Excepto " language:" ...
(Podría imaginar / suponer que " Everything" le ayudaría a elegir el selector de búsqueda que realmente funciona con el filtro de búsqueda " repo:", pero no. Eso sería demasiado fácil)
¡no puede especificar el selector de búsqueda que desea a través del Advance Searchcampo " " solo!
(pero puede " language:", aunque " Search Language" es otro cuadro combinado justo debajo del " Search for" tipo "uno ...)
Entonces, la experiencia del usuario generalmente es la siguiente:
hace clic en " Advanced Search", mira esas secciones de los filtros y observa que desea usar: " repo:"
realiza una primera búsqueda avanzada " repo:jruby/jruby stat", pero con el selector de búsqueda predeterminado " Everything"
=> FAIL! (y las matrices que muestran la asociación "Selectores-Filtros" se han ido )
te das cuenta de que "Buscar" cosa del selector, selecciona la primera opción " Repositories" ("¡Dah! Quiero buscar dentro de los repositorios ...")
=> FAIL!
abatido, selecciona la siguiente opción de selectores (aquí, " Users"), sin siquiera mirar dicho selector, solo para intentarlo de nuevo ...
=> FAIL!
"¡Al diablo con esto, la búsqueda de GitHub está rota ! ¡Me voy de aquí!"
... (La búsqueda avanzada de GitHub en realidad no está rota. Solo su GUI es ...)
Entonces, para recapitular, si quieres "buscar algo dentro del código de un proyecto Github", como el OP Ben Humphreys , no olvides seleccionar el " Code" selector de búsqueda ...
FWIW Me puse en contacto con GitHub porque no he obtenido ningún resultado de búsqueda al restringir las búsquedas a mis repositorios. Tim Pease respondió que estaban teniendo dificultades con el volumen de los índices de repos, por lo que han estado migrando a servidores de índices fragmentados. No hay ETA sobre cuándo se migrarán todos los repositorios.
M. Dudley
3
Acabo de utilizar el consejo de esta respuesta y también está funcionando para mí, pero tengo una advertencia para agregar. El nombre del repositorio siempre debe estar en minúsculas, incluso si GitHib lo incluye en todas partes de una manera diferente. Por ejemplo, (después de configurar el menú desplegable Código, etc., como se indicó anteriormente) intente la misma búsqueda con: repo: wordpress / wordpress vs repo: WordPress / WordPress ... solo el primero arrojará resultados.
ethanpil
22
Los repositorios privados recientes tienen un campo de búsqueda para buscar a través de ese repositorio.
Sin embargo, parece que esta funcionalidad no está disponible para los repositorios públicos.
Me pregunto si se trata de un movimiento comercial de baja envergadura para hacer que la gente actualice a la versión de pago. No suena como github pero aún así.
Sylvain
3
@Sylvain No creo que se haga como un estímulo para actualizar, ya que incluso después de la actualización, no obtendrá ese campo de búsqueda de repositorios públicos. En cambio, creo que la búsqueda principal utiliza un índice que no incluye repositorios privados, por lo que no pierde funcionalidad al pagar por un repositorio privado, tuvieron que agregar otra forma de buscar solo a través de ese repositorio privado, de ahí el adicional campo de texto.
avernet
2
¡Imagine la sobrecarga de ellos teniendo un índice de búsqueda para cada línea de código en cada repositorio! ¡Insano! Es por eso que solo lo hacen para repositorios privados ...
Jonny Nott
1
La búsqueda ahora está en el encabezado, igual que la búsqueda global.
Tib
20
ACTUALIZAR
El hack de bookmarklet a continuación está roto debido a problemas de XHR y cambios de API.
Guarde la fuente anterior como la URL de un nuevo marcador. Busque cualquier repositorio de Github, haga clic en el marcador y bam : búsqueda de código ajaxificado en la página .
CAVEAT Github debe indexar un repositorio antes de poder buscarlo.
Abracadabra...
Aquí hay una búsqueda de muestra del repositorio de especificaciones ECMAScript 5.1 anotado:
Cuando uso el complemento (Chrome) funciona bien en el repositorio scratchdot / github-code-search, pero no en ningún otro repositorio.
forforf
Debería funcionar en la página de inicio de cualquier repositorio. ¿Quizás estás intentando desde una página diferente? Publiqué una captura de pantalla de una búsqueda de muestra en un repositorio diferente en mi publicación.
fny
¡Ajá! De hecho, descubrí por qué esas búsquedas pueden haber fallado: un repositorio debe esperar su turno para la indexación. Dado el gran número de repositorios activos, sospecho que lleva un poco de tiempo.
fny
2
@ user456584 eso es nuevo para mí. Es posible que también desee informar a Google y Mozilla .
fny
2
Descubrí por qué el complemento no funciona, es porque el nombre del repositorio debe estar en minúsculas. (Vea mi comentario a la respuesta de VonC arriba). Ya presenté un parche en GitHub, espero que el autor original lo vea. github.com/skratchdot/github-code-search.user.js/pull/5
ethanpil
10
Si bien la respuesta de @ VonC funciona para algunos repositorios, desafortunadamente para muchos repositorios no puede hacerlo en este momento. Github simplemente no los está indexando (como comentó originalmente @emddudley). No han indicado esto en ningún lugar de su sitio web, pero le dirán si solicita ayuda:
De: Tim Pease
Hemos dejado de agregar código recién insertado en nuestro índice de búsqueda de código. El volumen de código ha superado nuestro índice de búsqueda actual, y estamos trabajando para pasar a una arquitectura de búsqueda más escalable. Perdón por la molestia. No tenemos una estimación de cuándo estará en funcionamiento este nuevo índice de búsqueda, pero cuando esté listo se publicará una publicación de blog (https://github.com/blog).
Molesto, no hay forma de saber qué repositorios no están indexados, aparte de la falta de resultados (que también podría deberse a una mala consulta).
Tampoco hay forma de rastrear este problema que no sea esperar a que lo publiquen en el blog (o verlo aquí en SO).
De: Tim Pease
Me temo que nuestro rastreador de problemas es interno, pero podemos notificarlo tan pronto como el nuevo índice de búsqueda esté en funcionamiento.
Al menos deberían mencionar que algunos resultados de búsqueda pueden omitirse. Es una mierda cuando refactorizo el código y busco las ocurrencias de código que están allí pero que GitHub no menciona.
Nicodemuz
2
Google le permite buscar en el proyecto, pero no en el código :(
Busco el código fuente dentro de los repositorios de Github con la extensión gratuita de Sourcegraph Chrome
... Pero descargué Chrome primero , sabía que otros navegadores lo admiten, como, y tal vez solo, Firefox.
Respuestas:
Actualización de enero de 2013: ¡ ha llegado una nueva búsqueda! , basado en elasticsearch.org :
Una búsqueda de estadísticas dentro del repositorio de ruby se expresará como
stat repo:ruby/ruby
, y ahora solo funcionará TM .(el nombre del repositorio no distingue entre mayúsculas y minúsculas:
test repo:wordpress/wordpress
devuelve el mismo quetest repo:Wordpress/Wordpress
)Daré:
Y tiene muchos otros ejemplos de búsqueda, basados en seguidores , o en horquillas , o ...
Actualización de julio de 2012 (viejos días de búsqueda de Lucene e indexación de código deficiente, combinada con una GUI rota, guardada aquí para el archivo):
La búsqueda (basada en SolrQuerySyntax ) ahora es más permisiva y el temido "
Invalid search query. Try quoting it.
" desaparece cuando se usa el selector de búsqueda predeterminado "Everything" :)(Supongo que todos podemos hacerlo más que Tim Pease , que tenía en uno de sus objetivos "piratear experiencias de búsqueda mejoradas para todas las propiedades de GitHub ", y mencioné esta pregunta de desbordamiento de pila en ese momento;))
Aquí hay una ilustración de un grep dentro del código ruby: buscará repositorios y usuarios, pero también lo que quería buscar en primer lugar: ¡el código!
Respuesta inicial e ilustración del problema anterior (septiembre de 2012 => marzo de 2012)
Puede usar el formulario de búsqueda avanzada de GitHub :
Code
,Repositories
oUsers
del menú desplegable yPor ejemplo, use la
repo:username/repo-name
directiva para limitar la búsqueda a un repositorio de código .La
Advanced Search
página inicial " " incluye la sección:Por lo tanto, si selecciona el "
Code
" selector de búsqueda, su búsqueda de un texto dentro de un repositorio funcionará:Lo que es increíblemente inútil de GitHub es que:
Code
"), recibirá un mensaje de error:"
Invalid search query. Try quoting it.
"el mensaje de error no te ayuda en absoluto.
Ninguna cantidad de "
quoting it
" lo sacará de este error.una vez que recibe ese mensaje de error, no obtiene las secciones que le recuerdan la asociación correcta entre los selectores de búsqueda ("
Repositories
", "Users
" o "Language
") y los filtros de búsqueda (derecha) (aquí "repo:
").Cualquier intento posterior que realice no mostrará esas asociaciones (selectores-filtros). Solo el mensaje de error que ve arriba ...
La única forma de recuperar esos arreglos es haciendo clic en el
Advance Search
ícono " ":¡el "
Everything
" selector de búsqueda, que es el predeterminado, en realidad es el incorrecto para todos los filtros de búsqueda! Excepto "language:
" ...(Podría imaginar / suponer que "
Everything
" le ayudaría a elegir el selector de búsqueda que realmente funciona con el filtro de búsqueda "repo:
", pero no. Eso sería demasiado fácil)¡no puede especificar el selector de búsqueda que desea a través del
Advance Search
campo " " solo!(pero puede "
language:
", aunque "Search Language
" es otro cuadro combinado justo debajo del "Search for
" tipo "uno ...)Entonces, la experiencia del usuario generalmente es la siguiente:
Advanced Search
", mira esas secciones de los filtros y observa que desea usar: "repo:
"repo:jruby/jruby stat
", pero con el selector de búsqueda predeterminado "Everything
"=>
FAIL
! (y las matrices que muestran la asociación "Selectores-Filtros" se han ido )Repositories
" ("¡Dah! Quiero buscar dentro de los repositorios ...")=>
FAIL
!Users
"), sin siquiera mirar dicho selector, solo para intentarlo de nuevo ...=>
FAIL
!...
(La búsqueda avanzada de GitHub en realidad no está rota. Solo su GUI es ...)
Entonces, para recapitular, si quieres "buscar algo dentro del código de un proyecto Github", como el OP Ben Humphreys , no olvides seleccionar el "
Code
" selector de búsqueda ...fuente
repo:"jruby/jruby" stat
repo:"jruby" stat
jruby: stat
ninguno de los cuales funcionaLos repositorios privados recientes tienen un campo de búsqueda para buscar a través de ese repositorio.
Sin embargo, parece que esta funcionalidad no está disponible para los repositorios públicos.
fuente
ACTUALIZAR
El hack de bookmarklet a continuación está roto debido a problemas de XHR y cambios de API.
Afortunadamente, Github ahora tiene "A Whole New Code Search", que hace el trabajo de manera excelente.
fuente
Si bien la respuesta de @ VonC funciona para algunos repositorios, desafortunadamente para muchos repositorios no puede hacerlo en este momento. Github simplemente no los está indexando (como comentó originalmente @emddudley). No han indicado esto en ningún lugar de su sitio web, pero le dirán si solicita ayuda:
Molesto, no hay forma de saber qué repositorios no están indexados, aparte de la falta de resultados (que también podría deberse a una mala consulta).
Tampoco hay forma de rastrear este problema que no sea esperar a que lo publiquen en el blog (o verlo aquí en SO).
fuente
Google le permite buscar en el proyecto, pero no en el código :(
sitio: https: //github.com/CreateJS/EaselJS test
fuente
Busco el código fuente dentro de los repositorios de Github con la extensión gratuita de Sourcegraph Chrome ... Pero descargué Chrome primero , sabía que otros navegadores lo admiten, como, y tal vez solo, Firefox.
La he leído a través de Extensión Docs Chrome de SourceForge y luego también miré justo lo que necesitaba para la búsqueda de nombres de directorio con Github de búsqueda en sí del motor, mediante la lectura de algunos de código base Buscando Doc de Github
fuente