Introducción
GitHub se ha vuelto a día de hoy una de las plataformas digitales en las que paso más tiempo últimamente, ya que como desarrollador tengo que estar mirando código un buen rato y más en esta temporada que me encuentro haciendo contribuciones a proyectos open source. Pero el tiempo apremia, y no me puedo dar el lujo de estar buscando entre los repositorios archivo por archivo, y presionando CTRL + F para buscar el fragmento de codigo que requiero.
Soy un vago, y gracias a eso puedo automatizar o al menos buscar la manera de hacer más con menos. ¿Ahora no parezco tan "holgazán" verdad profesor de secundaria?
Tomen una taza de café mis Cibernícolas, porque hoy les voy a hablar de GitHub Search.
¿Qué es GitHub Search?
Esta poderosísima herramienta de búsqueda de GitHub te permite encontrar rápidamente repositorios, fragmentos de código, problemas, usuarios y más.
Osea que puedes buscar en todo GitHub, filtrar los resultados por tipo y criterios específicos, y encontrar exactamente lo que necesitas en cuestión de segundos. Además, ofrece soporte para operadores de búsqueda avanzados, lo que te permite realizar consultas complejas y obtener resultados más precisos. Que si les soy sincero, me han sido de bastante ayuda cuando tengo que "comparar" 😉 un código.
Ya sea que estés buscando un proyecto específico, un archivo de configuración, o simplemente explorando el trabajo de otros desarrolladores, GitHub Search es una herramienta esencial para mejorar tu productividad y eficiencia en la plataforma.
Búsquedas Básicas
dog stars:>50
→ Encuentra repositorios relacionados con "dog" que tengan más de 50 estrellas.user:torvalds
→ Muestra todos los repositorios pertenecientes al usuario "torvalds".alice location:"New York, NY"
→ Encuentra todos los usuarios llamados "Alice" en Nueva York, NY.merge extension:js
→ Busca todas las ocurrencias de "merge" en archivos con extensión.js
.NOT dog
→ Excluye todos los resultados que contengan "dog".
Búsqueda de Repositorios
rails pushed:>2020-01-01
→ Encuentra repositorios de "rails" actualizados después del 1 de enero de 2020.react forks:<500
→ Encuentra repositorios de "react" con menos de 500 forks.angular size:2048..8192
→ Encuentra repositorios de "angular" con un tamaño entre 2048 y 8192 kB.vue fork:true
→ Incluye forks de "vue" en la búsqueda.vue fork:only
→ Devuelve solo forks de "vue".
Búsqueda de Código
setup repo:octocat/helloworld
→ Encuentra todas las instancias de "setup" en el repositoriooctocat/helloworld
.ninja user:github
→ Encuentra referencias a "ninja" en repositorios públicos de GitHub.config size:>500
→ Encuentra todas las instancias de "config" en archivos de código de más de 500 KB.tutorial path:/guide/
→ Encuentra todas las referencias a "tutorial" en la ruta/guide/
.update fork:true
→ Busca "update" en el código fuente de forks.
Búsqueda de Issues y Pull Requests
performance user:facebook
→ Encuentra problemas relacionados con "performance" en la organización Facebook.bug is:open
→ Encuentra issues abiertas que contengan "bug".weird comments:>10
→ Encuentra issues con más de 10 comentarios.critical label:enhancement
→ Encuentra issues etiquetadas como "enhancement".author:pjhyett
→ Encuentra issues creadas por "pjhyett".mentions:schacon
→ Encuentra issues en las que se mencione a "schacon".assignee:dhh
→ Encuentra issues asignadas a "dhh".error created:>2021-01-01
→ Encuentra issues creadas después del 1 de enero de 2021.error updated:<2021-01-01
→ Encuentra issues actualizadas antes del 1 de enero de 2021.
Búsqueda de Usuarios
fullname:"Guido van Rossum"
→ Encuentra usuarios con el nombre "Guido van Rossum".john location:"Los Angeles, CA"
→ Encuentra todos los usuarios llamados "John" en Los Ángeles, CA.mike followers:50..150
→ Encuentra usuarios llamados "Mike" con entre 50 y 150 seguidores.jane repos:>5
→ Encuentra usuarios llamados "Jane" con más de 5 repositorios.
Github Search Engine
Creo que ya se pueden dar una idea de por donde estoy yendo. Ya que como les comentaba al inicio, he estado haciendo un par de contribuciones a proyectos de código abierto, entre ellos está el plugin de Neovim websearcher.nvim. Que lo que permite es hacer búsquedas directamente desde Neovim usando un motor específico. Solo escribiendo la ruta del motor seguido de lo que quiero buscar.
https://github.com/search?type=repositories&q=language%3Apython
Por ende puedo usarlo desde neovim solo escribiendo mis parámetros de búsqueda, cosa que también tengo con Qutebrowser. Pero eso es tema para otro día.
Conclusión
GitHub Search es una herramienta poderosa que puede ahorrarte mucho tiempo si aprendes a usarla correctamente. Con estos trucos y operadores de búsqueda, puedes encontrar rápidamente el código, los repositorios, los problemas o los usuarios que necesites para optimizar tu flujo de trabajo como desarrollador.
Desde La Cueva del NeanderTech esperamos que esto te sirva para mejorar tu velocidad y precisión en las búsquedad de GitHub, cualquier duda o comentario, déjalo en la caja de comentarios y con gusto te ayudaré.
¡Hasta la próxima, Cibernícolas! 👾
La información es poder.
— Francis Bacon