¿Hay alguna manera de buscar algo dentro del código de un proyecto Github?
Podría extraer la fuente y seleccionarla localmente, pero me preguntaba si es posible a través de la interfaz web o una alternativa de terceros.
Ideas?
¿Hay alguna manera de buscar algo dentro del código de un proyecto Github?
Podría extraer la fuente y seleccionarla localmente, pero me preguntaba si es posible a través de la interfaz web o una alternativa de terceros.
Ideas?
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 que test 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
o Users
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:
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:
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
!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 ...
repo:"jruby/jruby" stat
repo:"jruby" stat
jruby: stat
ninguno de los cuales funciona
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.
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.
Echa un vistazo a este vudú: script de usuario de búsqueda de código Github .
Siga las instrucciones allí, o si odia inflar su navegador con secuencias de comandos y extensiones, use mi paquete marcado de favoritos del usuario:
javascript:(function(){var s='https://github.com/skratchdot/github-code-search.user.js/raw/master/github-code-search.user.js',t='text/javascript',d=document,n=navigator,e;(e=d.createElement('script')).src=s;e.type=t;d.getElementsByTagName('head')[0].appendChild(e)})();doIt('');void('');
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:
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.
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.
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