GitHub vs Bitbucket: ¿Cuál es el adecuado para su equipo de desarrollo?

Elegir la plataforma de control de código fuente adecuada para su equipo es una de las decisiones más importantes que debe tomar. Es muy probable que elijas Git para el software de control de versiones (VCS), pero la plataforma donde vive el código es igualmente importante. Muchas veces, todo se reduce a Bitbucket vs GitHub. A lo largo de los años, los dos han desarrollado comunidades y bases de usuarios sólidas. En esta publicación, queremos echar un vistazo a ambas plataformas para ver cuál se adapta mejor a las necesidades de su equipo de desarrollo.

GitHub frente a Bitbucket: conceptos básicos

Si es un principiante en Git, GitHub y Bitbucket por completo, le recomendamos que eche un vistazo a nuestra guía para principiantes de Git . Lo guiará a través de los fundamentos y lo preparará para comprender exactamente lo que está sucediendo en este artículo.

Si lo reduce a la diferencia más básica y fundamental entre GitHub y Bitbucket, es esta: GitHub se centra en el código público y Bitbucket es para privado. Básicamente, GitHub tiene una gran comunidad de código abierto y Bitbucket tiende a tener principalmente usuarios empresariales y comerciales.

Eso no quiere decir que no puedas tener un repositorio privado en GitHub (puedes hacerlo). O que no puede publicar su código públicamente en Bitbucket (nuevamente, puede hacerlo). Sin embargo, la mayoría de los usuarios no lo están haciendo. Además, los valores predeterminados también se establecen de esa manera: repositorios públicos y privados, respectivamente.

Fuera de esa diferencia, las dos plataformas funcionan de manera muy similar. Puede crear y administrar repositorios a través del sitio web o la línea de comandos, iniciar sesión con autenticación de dos factores (2FA), invitar a colaboradores, abrir problemas y discusiones, crear/fusionar solicitudes de extracción y, en general, manejar todas las cosas fundamentales que necesitaría desde el sitio web. Son súper similares en ese sentido. Dicho esto, profundicemos en los detalles de cada plataforma para que pueda tomar la decisión más informada posible.

Bitbucket

Debido a que Bitbucket es un producto de Atlassian (los creadores de Trello y otras aplicaciones), tiene una interfaz elegante y limpia desde el momento en que inicia sesión. Inmediatamente ve que están enfocados en equipos profesionales como una solución todo en uno para desarrollo de software. Veamos cómo.

1. No solo Git

GitHub, obviamente, es un centro para el control de versiones de git. BitBucket, por otro lado, admite más que solo git. También puede realizar un seguimiento de sus repositorios en Mercurial , otro popular sistema de gestión de control de versiones. No es compatible con SVN, otro sistema importante, pero al menos con Bitbucket, tiene una opción.

2. La interfaz

Usar el sitio web de Bitbucket es simplemente maravilloso. Es fácil y simple, y siempre sabes lo que está pasando. El sitio web de GitHub funciona, pero no siempre está claro qué debe hacer para lograr ciertas cosas. Ese rara vez es el caso con Bitbucket. Una barra lateral le indica claramente dónde se encuentra y qué puede hacer. Tenga en cuenta que este es solo el lado gráfico del sitio web: ambos usan los mismos comandos de git cuando accede a él a través de la línea de comandos.

4. Cliente de escritorio

Un área que está sorprendentemente ausente de Bitbucket de Atlassian es un cliente de escritorio (sin embargo, GitHub hace uno). Si bien muchos usuarios utilizarán de forma predeterminada la interfaz de línea de comandos y el control fino que brinda sobre las versiones de su software, todavía hay muchos a quienes realmente les gusta la sensación y la interacción de una aplicación git. Si opta por Bitbucket, no obtendrá uno propio, sino un programa de código abierto llamado Sourcetree .

Sourcetree es algo bueno. Funciona, es suave y es gratis. Puede que Atlassian no lo haya logrado, pero eso no importa. De todos modos, ni el cliente de GitHub ni Sourcetree se sienten tan sólidos como la CLI si vienes de eso. Sin embargo, es una buena manera de presentar a nuevas personas a git y hacer que se sientan un poco menos intimidados.

5. Wikis y tableros

Tener un proyecto wiki es increíblemente útil. Su equipo no solo puede usarlo para notas internas durante el desarrollo, sino que también puede abrirse al público como fuente de documentación posterior al lanzamiento. Con Bitbucket, cada repositorio puede tener un wiki. Todo lo que tiene que hacer es habilitarlo y puede controlarlo exactamente como lo hace con el resto del repositorio.

Además, muchos equipos de desarrollo utilizan tableros Kanban para la gestión de proyectos. GitHub ofrece una pestaña Tableros de forma predeterminada y Bitbucket no. Sin embargo, lo que hacen es permitirle vincular su cuenta de Trello a un repositorio, de modo que tenga ese servicio disponible en el panel del sitio web. Incrusta cualquier tablero de Trello que ya tengas, o puedes crear uno nuevo.

Atlassian también tiene un sólido mercado de aplicaciones en el que puede buscar para instalar varias integraciones para su proyecto. Puede o no necesitar este tipo de cosas, pero es bueno saber que está ahí.

6. Permisos de sucursales

Y finalmente, permisos de sucursales. Con Bitbucket, puede elegir quién puede trabajar en cualquier sucursal individual. En lugar de simplemente darle acceso a Karen al repositorio, puede darle acceso a una sola rama. De esa manera, se elimina el temor de un empujón maestro accidental. Esta característica es enorme y es estándar con Bitbucket, incluso en sus planes gratuitos. Si tiene un gran equipo y necesita administrar funciones, correcciones de errores, lanzamientos, versiones beta y diferentes aspectos del proyecto con una mano delicada.

GitHub

Pasando a GitHub, probablemente deberíamos mencionar que GitHub es el servicio con la mayor participación de mercado. De hecho, Microsoft la compró el año pasado, lo que hizo que las personas migraran de la plataforma, principalmente a Bitbucket. Pero en ese tiempo, Microsoft no ha afectado el trabajo diario de la mayoría de los desarrolladores, ya sea en código interno privado o trabajo de código abierto.

1. La interfaz

Dado que comenzamos con la interfaz de Bitbucket, comencemos en el mismo lugar con GitHub. Es funcional y funciona. ¿Qué más hay que decir? No es necesariamente bonito, pero lo que le falta en estilo lo compensa con pura utilidad. Dado que la mayoría de los usuarios de GitHub trabajan a través de la línea de comandos, la estética del sitio web no está realmente a prueba. Pero lo usa para algunas cosas con bastante regularidad, y funciona y nunca es confuso, pero tampoco es exactamente sencillo todo el tiempo.

2. Cliente de escritorio

GitHub ofrece su propio cliente de escritorio . En cuanto a estética y facilidad de uso, el cliente se ajusta mucho más a cómo es la interfaz web de Bitbucket. Al igual que arriba con Sourcetree, el cliente de GitHub es excelente para facilitar el acceso a git a las personas a las que no les guste la línea de comandos, pero si es un usuario avanzado o necesita un comando muy específico que no sea uno de los principales (tirar, empujar, agregar , commit, checkout, etc.), es muy probable que encuentre que falta alguno de los clientes. Dicho esto, por lo que hace, el cliente de GitHub es liviano y hace lo que se supone que debe hacer.

3. Repos privados gratuitos

En lo que solía ser el punto de venta más fuerte de Bitbucket, GitHub ahora ofrece  repositorios privados gratuitos ilimitados. Anteriormente, solo se podían crear repositorios públicos de forma gratuita y los privados eran solo para miembros que pagaban. Ahora, sin embargo, puedes crear tantos como quieras, totalmente gratis. Sin embargo, el problema es que solo puede tener 3 colaboradores en el repositorio (sin contarse a usted mismo). Entonces, si está en un equipo grande, pagará, independientemente.

Pero para los aficionados, las personas que necesitan compartir su código con alguien pero no pueden hacerlo público, y para proyectos más pequeños, los repositorios gratuitos ilimitados son una adición increíble a GitHub que fue una ausencia muy dolorosa hasta esta inclusión.

4. Wikis y tableros

Como se mencionó anteriormente, la propiedad de Trello por parte de Atlassian les da una ligera ventaja al poder integrarse directamente con Bitbucket. Sin embargo, GitHub tiene una solución Kanban integrada en la pestaña Proyectos. Cada proyecto que crea es su propio tablero, y aunque el de GitHub no es tan rico en características como Trello por mucho, aquí puede haber mucha planificación y documentación porque puede usar el marcado para diseñar cualquier cosa que necesite en cada tarjeta.

Sin embargo, una debilidad que GitHub tiene con Bitbucket es que los repositorios privados no pueden tener un wiki. Bueno, reformulemos eso:  los repositorios privados y gratuitos no pueden tener un wiki . Si tiene un repositorio público gratuito, puede tener un wiki . Si es un miembro que paga, sus repositorios privados pueden tener acceso wiki. Si bien esto no es un factor decisivo para muchas personas, puede ser un poco molesto cuando tiene que realizar algunos pasos complicados para que el Léame, los tableros de proyectos y los problemas funcionen como documentación.

5. Alto límite de almacenamiento

Digamos esto primero:  git no es una utilidad de copia de seguridad . No usa git para almacenamiento en línea o copias de seguridad. Es ineficiente para eso, y atasca los servidores y sus computadoras. Sin embargo, dicho esto, cuando obtiene una gran cantidad de confirmaciones, impulsos y ramas, su repositorio puede comenzar a acumular una gran masa.

Una ventaja de GitHub es que no se le cobra por ese almacenamiento. Incluso en un plan gratuito. Hay un límite estricto de 100 gigabytes en los repositorios de GitHub , aunque recomiendan que sea inferior a 1 gb (que muchos de ellos tendrán). Las cargas de archivos están limitadas a 100 MB para la línea de comandos y 25 MB para cargas web.

Sin embargo, Bitbucket solo permite a los usuarios gratuitos 1 gb en total. En lugar de solicitar que lo mantengas por debajo de 1 gb y luego enviarte un correo electrónico cuando alcances los 75 (que es un rango muy amplio y una elección extraña), Atlassian te empuja hacia los planes pagos de 1+ gb.

Ahora, eso es  1 gb por repositorio , por lo que puede tener múltiples repositorios gratis de esa manera. Pero no tienes que preocuparte por eso con GitHub. Ambos también ofrecen soluciones para archivos grandes ( la de Bitbucket está aquí y la de GitHub está aquí ).

GitHub vs Bitbucket: ¿El ganador?

No creo que haya uno. Si bien los servicios tienen una sensación absolutamente diferente y se dirigen absolutamente a diferentes grupos demográficos, obtendrá un buen servicio y hará su trabajo independientemente de si usa Bitbucket o GitHub.

Al final, no te vas a equivocar con tu elección. Si usted es un equipo de desarrollo pequeño, ambos funcionarán casi exactamente igual para usted. Pero, si eres nuevo en git, Bitbucket es un poco más indulgente y fácil de usar a medida que aprendes el flujo de trabajo. Si está interesado en el desarrollo de código abierto, GitHub es el centro principal para eso.

En términos de soluciones de negocios… es una tirada al azar. Los planes pagos son bastante similares. Es difícil hacer algún tipo de recomendación al respecto. Bitbucket se especializa en clientes comerciales y ofrece una solución todo en uno a través de la suite general de Atlassian, pero GitHub es la plataforma principal en código abierto y código público, si su empresa está involucrada en eso, puede ser el camino a seguir. .

En realidad, ninguna de las dos es una mala elección para usted y sus necesidades de control de código fuente. No puedes equivocarte con ninguno de los dos, sinceramente.

¿Qué plataforma y software de control de versiones prefieren usted y su equipo? ¡Cuéntanos por qué en los comentarios!

El artículo presenta una imagen de Teguh Jati Prasetyo / shutterstock.com