Introducción a GitHub
GitHub es la mayor comunidad de código abierto del mundo. Microsoft posee GitHub. GitHub es una plataforma de desarrollo que se inspira en su forma de trabajar.
Puede hospedar y revisar el código, administrar proyectos y compilar software junto con 40 millones de desarrolladores desde el código abierto hasta los negocios.
GitHub es un servicio de hospedaje de repositorios de Git que agrega muchas de sus características.
Aunque Git es una herramienta de línea de comandos, GitHub proporciona una interfaz gráfica basada en la web.
También proporciona el control de acceso y varias características de colaboración, como wikis y herramientas de administración de tareas esenciales para cada proyecto.
¿Cuáles son las principales ventajas de usar GitHub? Casi todos los proyectos de código abierto usan GitHub para administrar su proyecto.
GitHub es gratuito si el proyecto es de código abierto e incluye una wiki y la opción de realizar un seguimiento de problemas que facilite tener una documentación más detallada y obtener comentarios sobre el proyecto.
¿Cuáles son algunas de las características que ofrece GitHub?
Automatizar desde el código a la nube: automatice el código de producción más rápido y simplifique el flujo de trabajo con paquetes de GitHub y CI/CD integrado mediante las Acciones de GitHub.
- Automatice los flujos de trabajo: compile, pruebe, implemente y ejecute CI/CD como quiera en el mismo lugar en el que administra el código. Desencadene acciones desde cualquier evento de GitHub a cualquier API disponible. Compile las acciones en el lenguaje que prefiera o elija entre miles de flujos de trabajo y acciones creadas por la comunidad.
- Paquetes en casa con su código: use las acciones para publicar nuevas versiones de paquetes de GitHub automáticamente. Instale paquetes e imágenes hospedados en paquetes de GitHub o el registro de sus paquetes preferidos en los flujos de trabajo de CI/CD. Siempre es gratuito para el código abierto, y la transferencia de datos de las Acciones es ilimitada para todos los usuarios.
Protección conjunta de software: GitHub desempeña un papel en la protección del código del mundo: gracias a los equipos de desarrolladores, administradores, investigadores y de seguridad. En GitHub, los equipos de desarrollo de todas partes pueden trabajar juntos para proteger la cadena de suministro de software del mundo, desde la bifurcación hasta el final.
- Puede obtener alertas sobre vulnerabilidades en el código: GitHub examina continuamente los avisos de seguridad en busca de los lenguajes más populares. Asimismo, puede enviar alertas de seguridad a los administradores de los repositorios afectados con detalles para que puedan corregir los riesgos.
- Actualización automática de las vulnerabilidades: GitHub supervisa las dependencias del proyecto y abre automáticamente las solicitudes de extracción para actualizar las dependencias a la versión mínima que resuelve las vulnerabilidades conocidas.
- Manténgase al tanto de las CVE: manténgase al día con las vulnerabilidades y exposiciones comunes (CVE) más recientes y obtenga información sobre cómo le afectan mediante la base de datos de GitHub Advisory.
- Buscar vulnerabilidades que otras herramientas no tienen: CodeQL es el motor de análisis de código semántico líder del sector. El enfoque revolucionario de GitHub trata el código como datos para identificar las vulnerabilidades de seguridad con mayor rapidez.
- Eliminar variantes: nunca comete el mismo error dos veces. El examen automático de vulnerabilidades evita que las vulnerabilidades lleguen a la fase de producción.
- Mantener seguros los tokens: ¿ha confirmado accidentalmente un token en un repositorio público? GitHub lo tiene todo controlado. Gracias a la compatibilidad de 20 proveedores de servicios, GitHub da los pasos necesarios para mantener la seguridad.
Revisión de código sencillo: la revisión del código es la ruta de acceso más segura a un código mejor, y es fundamental para que GitHub funcione. Las herramientas de revisión integradas hacen que la revisión del código sea una parte esencial del proceso del equipo.
- Proponer cambios: el mejor código comienza con una solicitud de incorporación de cambios, que es una conversación en directo sobre los cambios en la que puede hablar a través de las ideas, asignar tareas, analizar detalles y realizar revisiones.
- Solicitar revisiones: si está en el otro lado de una revisión, puede solicitar revisiones a sus compañeros para obtener los comentarios detallados que necesita.
- Consulte la diferencia: las revisiones se suceden cada vez más rápido cuando se sabe exactamente lo que se cambia. Las diferencias comparan las versiones del código fuente y resaltan las partes nuevas, editadas o eliminadas.
- Comentario en contexto: los debates tienen lugar en subprocesos de comentarios dentro del código; se agrupan los comentarios en una revisión o se responde a otra persona que está en línea para iniciar una conversación.
- Enviar comentarios claros: sus compañeros de equipo no deben preocuparse de lo que significa un emoji de tipo "pulgares hacia arriba". Especifique si los comentarios son cambios necesarios o solo algunas sugerencias.
- Proteger las ramas: solo combine el código de mayor calidad. Puede configurar repositorios para requerir comprobaciones de estado, lo que reduce tanto los errores humanos como la sobrecarga administrativa.
Todo el código y la documentación en un solo lugar: hay cientos de millones de repositorios privados, públicos y de código abierto hospedados en GitHub. Todos los repositorios contienen herramientas para ayudar al host, la versión y el código y la documentación de la versión.
- Código en el que colabora: los repositorios mantienen el código en un solo lugar y ayudan a los equipos a colaborar con las herramientas que les encantan, incluso si trabajan con archivos grandes mediante Git LFS. Con repositorios privados ilimitados para usuarios y equipos, puede crear o importar tantos proyectos como quiera.
- Documentación junto con el código: hospede la documentación directamente desde los repositorios con GitHub Pages. Use Jekyll como generador de sitios estáticos y publique las páginas desde la carpeta /docs de la rama principal.
Administre sus ideas: coordine de forma anticipada, manténgase alineado y obtenga más información con las herramientas de administración de proyectos de GitHub de la empresa.
- Vea el proyecto en toda su extensión: consulte todo lo que sucede en el proyecto y elija dónde quiere centrar los esfuerzos de su equipo con los Proyectos, que se componen de paneles de tareas que se asocian a su lugar, cerca del código.
- Seguimiento y asignación de tareas: los problemas le ayudarán a identificar, asignar y realizar un seguimiento de las tareas dentro del equipo. Puede abrir un problema para realizar un seguimiento de un error, analizar una idea con un @mention o empezar a distribuir el trabajo.
El lado humano del software: la creación de software trata más de la administración de equipos y comunidades que del código. Tanto si está en un grupo de dos personas como si es de 2000, GitHub tiene el soporte técnico que necesitan sus usuarios.
- Administrar y aumentar el número de equipos: ayude a los usuarios a organizarse con los equipos de GitHub, suba de nivel para acceder a roles administrativos y ajuste los permisos con equipos anidados.
- Mantener conversaciones: las herramientas de moderación, como el bloqueo de problemas y solicitudes de incorporación de cambios, ayudan a su equipo a centrarse en el código. Además, si mantiene un proyecto de código abierto, el bloqueo de usuarios reduce los ruidos y garantiza que las conversaciones sean productivas.
- Establecimiento de directrices de la comunidad: establezca roles y expectativas sin tener que empezar desde cero. Personalice los códigos de conducta estándar para crear el código perfecto para el proyecto. A continuación, elija una licencia escrita previamente directamente en el repositorio.
GitHub ofrece excelentes recursos de aprendizaje para su plataforma. Puede encontrar todo, desde el entrenamiento de introducción a Git hasta el análisis detallado de la publicación de páginas estáticas de GitHub y cómo usar correctamente DevOps en GitHub aquí.