GitHub
GitHub es una de las plataformas más conocidas y utilizadas por desarrolladores, ingenieros, científicos de datos y equipos DevOps de todo el mundo. Desde proyectos personales hasta código fuente de grandes corporaciones, GitHub se ha convertido en el centro neurálgico de la colaboración basada en Git, el sistema de control de versiones más popular.
Es una plataforma para alojar repositorios de código, basada en Git. Permitiendo a los usuarios guardar versiones del código, colaborar con otros programadores, llevar seguimiento de cambios y contribuir de forma controlada. GitHub ofrece tanto funcionalidades sociales (como seguimiento de proyectos, issues o pull requests) como integraciones de CI/CD (como GitHub Actions), todo desde la nube.
Fue fundado en 2008 por Tom Preston-Werner, Chris Wanstrath, PJ Hyett y Scott Chacon con el propósito de hacer Git más accesible y visualmente entendible para los desarrolladores. Git ya existía, creado por Linus Torvalds, pero su uso era completamente desde la línea de comandos y algo complejo. GitHub trajo una interfaz gráfica web, herramientas colaborativas y comunidad abierta, lo que revolucionó la forma de compartir y gestionar código.
En 2018, Microsoft adquirió GitHub por $7.5 mil millones en acciones, asegurando su continuidad como herramienta libre para la comunidad y potenciando aún más su ecosistema.

¿Para qué sirve GitHub?
GitHub es mucho más que un simple repositorio. Estas son sus funciones más destacadas:
- ∘
Control de versiones: manejar diferentes versiones de código de manera segura. - ∘
Colaboración: múltiples usuarios pueden trabajar en el mismo proyecto, con gestión de cambios y solicitudes de revisión. - ∘
Revisión de código: mediante pull requests e issues, se puede analizar el código antes de integrarlo. - ∘
Despliegue automático: con GitHub Actions, puedes ejecutar tareas como pruebas, compilación y despliegue continuo. - ∘
Documentación: se puede crear documentación y wikis del proyecto. - ∘
Seguimiento de errores y tareas: con el sistema de issues y projects, puedes llevar el flujo de trabajo como en un gestor de tareas.

Funciones principales
- ⌭
Clonar un repositorio - ⌭
Crear una rama (git branch / git checkout -b) - ⌭
Hacer commits - ⌭
Enviar cambios - ⌭
Recibir cambios - ⌭
Pull Requests - ⌭
Issues - ⌭
Fork - ⌭
Wikis y Documentación - ⌭
Gestión de permisos y equipos
Clonar significa copiar un repositorio remoto (como el de GitHub) a tu máquina local. Esto te permite tener el código fuente completo para modificarlo, probarlo o colaborar.
Las ramas (branches) son como líneas paralelas de trabajo, perfectas para desarrollar nuevas funcionalidades sin afectar el código principal (la rama main o master).
Un commit es una instantánea del código en un momento específico. Git guarda el cambio y lo etiqueta con un mensaje que lo describe.
Envía tus commits locales al repositorio remoto de GitHub.
Descarga los cambios más recientes desde el repositorio remoto hacia tu máquina local.
Cuando trabajas con ramas, GitHub permite abrir una Pull Request (PR) para proponer tus cambios al repositorio principal. Es un flujo de trabajo colaborativo: otros pueden revisar tu código, hacer comentarios, aprobar o pedir cambios antes de integrar (mergear) tus modificaciones.
Son reportes de errores, tareas o solicitudes de mejora. Funcionan como tickets de soporte o notas de planificación, y pueden vincularse con commits o PRs.
Es una copia de un repositorio en tu propia cuenta de GitHub. Muy útil cuando quieres contribuir a un proyecto externo sin tener permisos de escritura directos. Puedes hacer cambios en tu fork y luego abrir una pull request hacia el repositorio original.
Cada proyecto puede tener una wiki, que actúa como una documentación interna o externa del repositorio. También se pueden usar archivos README.md y CONTRIBUTING.md como punto de inicio para explicar de qué trata el proyecto o cómo contribuir.
Puedes crear organizaciones, equipos, roles y permisos específicos. Por ejemplo, algunos usuarios pueden solo ver el código, otros pueden editarlo, y algunos más pueden aprobar cambios o gestionar automatizaciones.

Clonar significa copiar un repositorio remoto (como el de GitHub) a tu máquina local. Esto te permite tener el código fuente completo para modificarlo, probarlo o colaborar.
Plataformas
- ★
GitHub Web - ★
GitHub Desktop - ★
GitHub Mobile - ★
GitHub Actions - ∘
Ejecutar pruebas automatizadas. - ∘
Compilar y desplegar proyectos. - ∘
Realizar linting y escaneos de seguridad. - ∘
Integrarse con servicios como Docker, AWS, Kubernetes, etc. - ★
GitHub CLI - ★
GitHub Codespaces - ★
GitLab (alternativa similar)
La plataforma central accesible desde cualquier navegador, donde puedes gestionar tus repositorios, issues, pull requests y workflows.
Una aplicación para Windows y macOS que simplifica el uso de Git y GitHub mediante una interfaz gráfica. Permite clonar, crear ramas, hacer commits y push/pull fácilmente sin usar la terminal.
Aplicación para iOS y Android que permite responder a issues, revisar código y seguir proyectos estés donde estés.
Es la plataforma de automatización integrada de GitHub. Permite definir flujos de trabajo (workflows) para:
Herramienta oficial de línea de comandos (gh) que permite interactuar con GitHub desde la terminal: crear issues, pull requests, revisar código y ejecutar acciones automatizadas.
Un entorno de desarrollo completamente en la nube, basado en VS Code, que permite editar, compilar y depurar sin necesidad de instalar nada localmente.
GitLab es una plataforma open-source alternativa a GitHub, con funciones muy similares: repositorios, pipelines de CI/CD, control de acceso, etc. Aunque es independiente, también permite alojar proyectos Git de forma privada o pública, y tiene fuerte adopción empresarial.

Ejemplo
Github Desktop
Para descargar GitHub Desktop, solo tienes que ir al enlace oficial.
Al hacer clic en "Download for Windows" (o "macOS" si estás en un Mac), comenzará la descarga del instalador. Una vez descargado, solo debes ejecutarlo y seguir los pasos del asistente de instalación.
GitHub Desktop te permite realizar muchas de las mismas acciones que puedes hacer desde la terminal, pero de forma visual. Por ejemplo:
- ∘ Clonar repositorios con un solo clic.
- ∘ Crear ramas nuevas fácilmente desde el menú.
- ∘ Ver los cambios realizados en archivos (diff).
- ∘ Hacer commits con mensaje sin usar comandos.
- ∘ Sincronizar con GitHub mediante push y pull con botones.
- ∘ Resolver conflictos de merge con ayuda visual.
Aunque no reemplaza por completo el uso avanzado de Git, es excelente para usuarios que prefieren una interfaz gráfica o que están empezando. Además, se integra muy bien con editores como VS Code.

Casos de uso comunes
- ∘
Desarrolladores open source: compartiendo proyectos públicos y colaborando con la comunidad. - ∘
Empresas privadas: gestionando versiones, ramas y despliegues automatizados de software. - ∘
Científicos de datos y ML: alojando notebooks, datasets y modelos. - ∘
Administradores de sistemas y DevOps: usando GitHub Actions para automatización y gestión de infraestructura como código.

Bitbucket
Bitbucket es una plataforma de gestión de repositorios de código basada en Git y Mercurial, utilizada principalmente por desarrolladores para alojar su código fuente, colaborar con equipos y automatizar el proceso de desarrollo y despliegue de software. Es muy popular en el entorno empresarial y en proyectos de desarrollo profesional, especialmente en compañías que ya utilizan otras herramientas del ecosistema Atlassian.
Fue creado originalmente en 2008 por una empresa llamada Vanity Software como una plataforma enfocada en proyectos Mercurial. En 2010, fue adquirido por Atlassian, la misma compañía que está detrás de productos como Jira, Trello y Confluence. Tras su adquisición, Bitbucket fue evolucionando para dar soporte completo a Git, el sistema de control de versiones más popular hoy en día.
Bitbucket ofrece planes gratuitos y de pago. El plan gratuito es bastante generoso para equipos pequeños: permite hasta 5 usuarios con repositorios privados ilimitados, lo que lo convierte en una excelente opción para desarrolladores independientes, estudiantes o pequeños equipos de startups. A partir de 5 usuarios, los planes de pago ofrecen más capacidad de usuarios, funcionalidades avanzadas de seguridad y almacenamiento adicional para los pipelines de CI/CD.
Características
Con Bitbucket puedes crear repositorios de código privados o públicos, colaborar con otros desarrolladores mediante pull requests, revisar código, gestionar ramas y versiones, y conectar tu flujo de trabajo con herramientas de automatización como pipelines (integración continua y entrega continua, CI/CD). También permite la integración con Jira, lo cual hace que sea una solución potente para equipos que necesitan rastrear errores, tareas y el ciclo completo de desarrollo.
Aunque GitHub es la plataforma más conocida, Bitbucket tiene ciertas ventajas que pueden ser decisivas en algunos entornos. Una de las más destacadas es su profunda integración con Jira, lo cual permite conectar commits, ramas y pull requests directamente con tareas de gestión de proyectos. Además, Bitbucket incluye Bitbucket Pipelines, una herramienta de CI/CD integrada sin necesidad de configurar un servidor externo como Jenkins. Esto permite automatizar pruebas, despliegues o compilaciones con facilidad y sin salir del entorno de Bitbucket.
Algunas características destacables son:
- ∘ Repositorios privados ilimitados en todos los planes.
- ∘ Control de acceso y permisos por rama, ideal para grandes equipos.
- ∘ Integración con Slack, Trello, Jenkins y otros servicios populares.
- ∘ Visualización de historial de commits y ramas desde la interfaz web.
- ∘ Herramientas de revisión de código con comentarios línea por línea.
- ∘ Soporte para Webhooks y API REST para integraciones personalizadas.
¿Cómo se usa Bitbucket?
Para comenzar a usar Bitbucket, solo necesitas una cuenta gratuita en bitbucket.org. Una vez dentro, puedes crear un repositorio nuevo e iniciar tu proyecto. Puedes clonar el repositorio en tu máquina local usando Git, subir tu código, crear ramas para nuevas funciones, hacer commits y enviar pull requests para que tu equipo revise tus cambios. Todo este flujo está diseñado para fomentar la colaboración, revisión de código y buenas prácticas en el desarrollo.
También exploraremos cómo utilizar Bitbucket Pipelines, la herramienta de CI/CD integrada que permite automatizar procesos como pruebas, compilación y despliegue directamente desde tu repositorio. A través de un tutorial práctico, aprenderás a configurar tu primer pipeline y a integrarlo en tu flujo de desarrollo. Puedes seguir el tutorial completo aquí.
