GitHub vs. Bitbucket GitHub no es el único servicio Git mejorado alojado, y GitHub Enterprise no es el único producto local para empresas. Bitbucket de Atlassian compite con ambos, con precios ligeramente más bajos y con un nivel de equipo gratuito de cinco miembros que incluye repositorios privados ilimitados y el uso de Bitbucket Pipelines para la integración continua. GitHub es un sitio más popular para proyectos de código abierto y tiene un grupo mucho más grande de desarrolladores de código abierto. Los precios de Bitbucket solían ser más favorables para las pequeñas empresas emergentes. Ahora que GitHub permite repositorios privados ilimitados en cuentas gratuitas y de equipo, ese ya no es el caso. GitHub vs. GitLab GitLab compite con GitHub y Bitbucket, tanto alojados como locales. A primera vista, GitLab parece tener más funcionalidad de ciclo de vida que los demás, pero la diferencia con Bitbucket desaparece en gran medida si incluye Jira cuando evalúa Bitbucket. GitLab ofrece funciones de nube del plan Gold a proyectos de código abierto de forma gratuita, pero esa funcionalidad adicional no compensa realmente la mayor comunidad de desarrolladores de código abierto en GitHub. GitHub Desktop GitHub Desktop, que se muestra a continuación, facilita la administración de sus repositorios de GitHub.com y GitHub Enterprise. Si bien no implementa todas las funciones de la línea de comandos de Git y la GUI web de GitHub, sí implementa todas las operaciones que realizará a diario desde su escritorio mientras contribuye a los proyectos. Por lo general, clonará repositorios de GitHub a GitHub Desktop, los sincronizará según sea necesario, creará ramas para su trabajo, confirmará su trabajo y, ocasionalmente, revertirá una o más confirmaciones. Para trabajar con repositorios para los que carece de privilegios de confirmación y colaboración, generalmente comienza bifurcando el repositorio en GitHub y clonando la bifurcación en su escritorio. Luego, agrega las ramas que necesites en GitHub Desktop, confirma los cambios que desees, prueba tu trabajo, envía las confirmaciones a tu repositorio bifurcado remoto y, finalmente, genera una solicitud de extracción al proyecto principal. Puedes ver el botón Solicitud de extracción en la esquina superior derecha de la interfaz de GitHub Desktop. También puedes ver muchas confirmaciones en el proyecto Neo4j que fueron fusiones de ramas o solicitudes de extracción. Eso es típico de los proyectos de código abierto con pocos confirmadores y muchos colaboradores. GitHub Desktop te brinda una GUI útil para agregar o clonar repositorios, navegar por las ramas, enviar cambios y administrar las solicitudes de extracción. GitHub para proyectos de código abierto Los proyectos de software de código abierto a menudo necesitan formas de aplicar el control de calidad y, al mismo tiempo, aceptar contribuciones de fuera del equipo central de confirmadores. La necesidad de colaboradores es enorme, pero traer nuevos colaboradores al proyecto mientras se mantiene la integridad de la base de código es una tarea difícil y potencialmente peligrosa. Al mismo tiempo, la necesidad de comentarios de los usuarios del proyecto también es enorme. GitHub tiene una serie de mecanismos que pueden ayudar a engrasar los engranajes de los proyectos de código abierto. Por ejemplo, los usuarios pueden agregar problemas al proyecto en GitHub para informar errores o solicitar características. Algunos otros sistemas llaman a estos «tickets». Los gerentes de proyectos que trabajan con problemas pueden generar listas de tareas, asignar problemas a colaboradores específicos, mencionar a otros colaboradores interesados para que se les notifiquen los cambios, agregar etiquetas y agregar hitos. Para contribuir a un proyecto, básicamente comienza desde una rama principal de tema que contiene los cambios confirmados que desea agregar a la rama base del proyecto e inicializa una solicitud de incorporación de cambios desde la rama principal, como se muestra a continuación. Luego, envía sus confirmaciones y las agrega a la rama del proyecto. Otros colaboradores pueden revisar sus cambios propuestos, agregar comentarios de revisión, contribuir a la discusión de la solicitud de incorporación de cambios y agregar sus propias confirmaciones a la solicitud de incorporación de cambios. Una vez que todos los involucrados están contentos con los cambios propuestos, un colaborador puede fusionar la solicitud de incorporación de cambios. La fusión puede preservar todas las confirmaciones, comprimir todos los cambios en una sola confirmación o reorganizar las confirmaciones de la rama principal en la rama base. Si la fusión genera conflictos, puedes resolverlos en GitHub o usando la línea de comandos. Las revisiones de código en GitHub permiten que un equipo distribuido colabore de forma asincrónica. Las herramientas útiles de GitHub para los revisores incluyen diffs (la mitad inferior de la captura de pantalla a continuación), historial (la mitad superior) y vista de culpa (una forma de ver la evolución de un archivo confirmado por confirmación). Las discusiones de código en GitHub se convierten en comentarios que se presentan en línea con los cambios de tu código. Si las herramientas integradas no son suficientes para tu proyecto, puedes agregar herramientas de revisión de código e integración continua desde el mercado de GitHub. Los complementos del mercado suelen ser gratuitos para los proyectos de código abierto. GitHub proporciona una serie de vistas útiles de tu código, incluido un historial de confirmaciones (arriba) y una vista de diff (abajo). Gists de GitHub Los gists son repositorios especiales de GitHub para compartir tu trabajo (público) o para guardar el trabajo para reutilizarlo más tarde (secreto). Pueden contener archivos individuales, partes de archivos o aplicaciones completas. Puedes descargar gists, clonarlos, bifurcarlos e incrustarlos. Los gists públicos se pueden descubrir y encontrar en las búsquedas. Puedes usar palabras clave para limitar lo que encuentres, incluidos prefijos para restringir los resultados a gists de usuarios específicos, gists con al menos N estrellas, gists con nombres de archivo específicos, etc. Los gists secretos no se pueden buscar, pero cualquiera con la URL puede verlos. Si realmente quieres que tu código esté protegido, usa un repositorio privado. Como hemos visto, GitHub proporciona repositorios de Git como servicio, junto con funciones para revisión de código, gestión de proyectos, integraciones con otras herramientas para desarrolladores, gestión de equipos, codificación social y documentación. Si bien GitHub no es el único producto en su categoría, es el repositorio dominante para el desarrollo de software de código abierto.
Deja una respuesta