Curso

Logotipo de GitHub. Fuente: GitHub Logos and Usage
Imagina que estás trabajando en un proyecto de ciencia de datos y has avanzado mucho. De repente, aparece un bug. Te gustaría volver a la última versión que funcionaba, pero no recuerdas todos los cambios que hiciste. O quizá estás colaborando con otras personas y combinar las aportaciones de cada uno es un caos. Si te suena, no eres el único.
Estos problemas habituales se resuelven con GitHub, la plataforma líder para control de versiones y colaboración. En este artículo veremos cómo GitHub puede mejorar la gestión de tus proyectos de datos. Además, exploraremos técnicas de colaboración y estrategias para ganar productividad.
Empecemos por entender los fundamentos del control de versiones.
¿Qué es el control de versiones?
El control de versiones es un sistema que registra los cambios en los archivos a lo largo del tiempo. Permite que muchas personas colaboren en un proyecto y mantiene un historial de modificaciones. Sin control de versiones, gestionar cambios en el código puede volverse caótico y propenso a errores, especialmente en proyectos en equipo donde distintas personas trabajan a la vez en partes diferentes del código.
¿Para qué se usa GitHub?
Como habrás imaginado, GitHub es una plataforma versátil que destaca en el control de versiones. Pero va mucho más allá e incluye usos como:
-
Crear un porfolio de proyectos: GitHub te permite crear un perfil público para mostrar tus habilidades y proyectos a empleadores o colegas.
-
Colaboración: GitHub facilita el trabajo en equipo en los proyectos: compartir fragmentos de código y revisar el trabajo de los demás.
-
Contribución a open source: Con GitHub puedes explorar y contribuir a proyectos de ciencia de datos de código abierto, acelerando el aprendizaje y la innovación.
¿Cómo funciona GitHub?
Para entender a fondo los beneficios de GitHub, es clave conocer sus componentes y cómo encajan entre sí.
- Repositorios: Son carpetas que guardan los archivos de tu proyecto y su historial de versiones. Piénsalos como archivadores digitales para tus proyectos de datos. Cada repositorio tiene una URL única y contiene archivos, ramas y commits.
- Forks: Un fork es una copia personal del repositorio de otra persona. Puedes hacer cambios por tu cuenta y, más tarde, proponerlos de vuelta al repositorio original.
- Pull requests: Los PR son la forma formal de proponer tus cambios a la persona propietaria del proyecto para su revisión y fusión. Facilitan la revisión de código y la colaboración.
- Issues: Se usan para registrar tareas, bugs o mejoras.
- Ramas: Una rama es una versión paralela de un repositorio. Puedes crear ramas para trabajar en funcionalidades o correcciones concretas y, cuando estén listas, fusionarlas con la rama principal. Aprende más en este tutorial sobre Git Clone Branch.
- Merge: Hacer merge combina tus cambios con el proyecto original para mantener todo ordenado y al día. Un caso típico es fusionar una rama de funcionalidad con la rama principal.
Git vs. GitHub
Quizá te preguntes cómo se relacionan Git y GitHub. A menudo se usan indistintamente, pero hay una diferencia clave.
Git es un sistema de control de versiones distribuido (DVCS) que ayuda a los desarrolladores a gestionar su código. Registra los cambios y permite crear diferentes versiones, o ramas, del código, lo que facilita el trabajo conjunto. Git también incorpora zonas de staging y historiales de commits, ofreciendo un registro detallado de las modificaciones.
GitHub, por su parte, añade funcionalidades como control de acceso, seguimiento de bugs, gestión de tareas y wikis, lo que facilita la colaboración en proyectos. Con GitHub puedes gestionar tu código, seguir cambios, revisar contribuciones y debatir issues en un mismo sitio. Además, se integra con múltiples herramientas y servicios para mejorar el flujo de desarrollo.
|
Categoría |
Git |
GitHub |
|
Definición |
Sistema de control de versiones distribuido |
Plataforma web construida sobre Git |
|
Propósito |
Te ayuda a gestionar código, seguir cambios y crear ramas |
Aloja repositorios Git y aporta herramientas adicionales de colaboración |
|
Funcionalidades |
Áreas de staging, historiales de commits, branching y merge |
Control de acceso, seguimiento de bugs, gestión de tareas, wikis e integraciones |
|
Beneficio |
Permite el trabajo colaborativo y el seguimiento detallado de cambios en el código |
Mejora la colaboración, la gestión de proyectos y la revisión de código |
Cómo usar GitHub
Hasta ahora hemos visto qué es GitHub y qué es el control de versiones. También hemos comparado Git y GitHub. Ahora, pasemos a la práctica con GitHub.
Primero, veremos cómo crear una cuenta de GitHub, personalizar la experiencia y elegir un plan. Después, crearemos un repositorio: configuración, descripciones y visibilidad. A continuación, crearemos ramas para trabajar en versiones diferentes del proyecto y pasaremos a hacer commits, donde aprenderemos a editar archivos y documentar cambios.
Registro
Sigue estos pasos para crear tu cuenta de GitHub y empezar:
- Visita GitHub y haz clic en el botón Sign up.
- Sigue las indicaciones para crear la cuenta. Tendrás que indicar tu correo, crear un nombre de usuario y una contraseña.
- Puedes personalizar tu experiencia eligiendo el plan que mejor te encaje y ajustando tus preferencias durante la configuración. El plan gratuito es suficiente para principiantes y perfiles junior de datos.
Registro en GitHub. Imagen del autor
Crear un repositorio
Tras registrarte, el siguiente paso es crear un repositorio. Así puedes crear tu primer repositorio:
-
Haz clic en el icono + de la esquina superior derecha y selecciona New repository.
-
Añade un nombre y una descripción y elige si quieres que el repositorio sea público o privado. Los públicos son visibles para todo el mundo; los privados solo para ti y las personas colaboradoras que invites.
-
Opcionalmente, añade un archivo README, un
.gitgnorey una licencia. También puedes incorporarlos más tarde. -
Haz clic en Create repository.

Creación de un repositorio. Imagen del autor
Después de estos pasos, verás una ventana con una configuración rápida para un repositorio nuevo. Puedes empezar creando un archivo o subiendo uno existente al nuevo repositorio.

Configuración de un repositorio nuevo. Imagen del autor

Subida de archivos. Imagen del autor
Crear ramas
Con el repositorio listo, toca crear ramas. Pasos para crear ramas en tu repositorio:
-
En tu repositorio, haz clic en Branch:main, cerca de la parte superior.
-
Luego haz clic en el botón New branch en la esquina superior derecha.
-
Introduce el nombre de la nueva rama y pulsa Create new branch.
-
Puedes cambiar entre ramas desde el desplegable de ramas, eligiendo en cuál quieres trabajar.

Creación de ramas. Imagen del autor
Hacer commits
Tras crear ramas, el siguiente paso es hacer commits. Así puedes confirmar cambios:
-
Navega hasta el archivo que quieres editar en tu repositorio.
-
Haz clic en el icono del lápiz para editar el archivo y realiza los cambios en el editor de texto.
-
Haz clic en Commit Changes. Desplázate a la sección Commit changes. Es importante añadir un mensaje de commit que describa los cambios realizados.

Realización de commits. Imagen del autor
Crear un pull request
Una vez hechos los commits, toca crear un pull request. Pasos para crear un pull request:
-
Ve a la pestaña Pull requests de tu repositorio.
-
Haz clic en New pull request. GitHub comparará automáticamente los cambios entre ramas.
-
Revisa los cambios para asegurarte de que todo está correcto, comparando tu rama con la rama principal.
-
Crea el pull request haciendo clic en Create pull request. Añade un título y una descripción.
-
Si lo necesitas, añade revisores y envía. Es opcional, pero muy útil si quieres feedback antes de fusionar.

Creación de un pull request. Imagen del autor
Fusionar ramas
Tras la revisión y aprobación del pull request, el último paso es fusionar ramas. Así se hace:
- Cuando el pull request esté revisado y aprobado, ve a él desde la pestaña Pull requests.
- Haz clic en el botón Merge pull request.
- Confirma la fusión con Confirm merge.
Además de la interfaz de GitHub, puedes usar Git para la mayoría de tareas. Por ejemplo, puedes crear un repositorio Git local y traer cambios de un repositorio remoto con el comando git pull. Ganar soltura en este entorno es importante para avanzar en tu carrera, y el curso Introduction to Git de DataCamp es un gran recurso. También puedes probar nuestro GitHub and Git Tutorial for Beginners para empezar.
Alternativas a GitHub
GitHub es la plataforma más popular para control de versiones y colaboración. Sin embargo, existen varias alternativas con propuestas y ventajas propias. Es importante que quienes se inician en datos conozcan estas opciones, que pueden adaptarse mejor a sus necesidades.
Veamos algunas alternativas a GitHub.
GitLab
Es una plataforma DevOps que ofrece gestión de repositorios Git, seguimiento de issues y funcionalidades de pipelines CI/CD. GitLab es popular por su enfoque todo en uno, integrando una amplia gama de herramientas y servicios.

Logotipo de GitLab
Algunas funciones clave:
- CI/CD integrado: GitLab incorpora pipelines para integración y despliegue continuos que automatizan las pruebas y el despliegue.
- Seguimiento de issues: Con el sistema de issues de GitLab puedes gestionar tareas, bugs y peticiones de funcionalidades mediante tableros, hitos y etiquetas.
- Auto DevOps: Configura pipelines según la estructura del proyecto, ahorrando tiempo en la puesta en marcha.
- Container Registry: Registro integrado para gestionar imágenes de Docker.
- Seguridad: Herramientas de testing de seguridad integradas para monitorización continua y escaneo de vulnerabilidades en tu base de código.
Bitbucket
Bitbucket es un producto de Atlassian que gestiona repositorios Git, incluidos repositorios Mercurial. Está diseñado para integrarse fácilmente con otros productos de Atlassian, como Jira y Trello.

Logotipo de Bitbucket
Funciones destacadas:
- Permisos por rama: Control granular sobre quién puede acceder y cambiar ramas, mejorando la seguridad.
- Integración CI/CD: Integración con Bitbucket Pipelines para integración y entrega continuas con pruebas y despliegues automatizados.
- Integración con Jira: Integración directa con Jira para una gestión de proyectos completa y seguimiento del progreso de desarrollo.
- Pull requests: Comentarios en línea y revisiones de PR para un proceso de revisión de código eficaz.
- Despliegues: Soporta despliegues mediante Bitbucket Pipelines, facilitando procesos de entrega más ágiles.
SourceForge
SourceForge es una de las plataformas originales para alojar y gestionar proyectos open source. Ofrece un amplio conjunto de herramientas: repositorios de código, seguimiento de bugs y funciones de gestión de proyectos.
Entre sus características clave:
- Alojamiento de proyectos: Hosting gratuito para proyectos de código abierto, con ancho de banda y almacenamiento ilimitados.
- Estadísticas de descargas: Métricas detalladas para seguir la popularidad y la evolución de los proyectos.
- Foros de discusión: Foros integrados para fomentar la comunidad y el soporte.
- Sistema de publicación de archivos: Un sistema avanzado para gestionar descargas y versiones.
- Soporte para SVN y Git: Compatibilidad tanto con Subversion (SVN) como con Git.
AWS CodeCommit
AWS CodeCommit es un servicio de control de código totalmente gestionado por Amazon Web Services. Te permite almacenar y gestionar tu código en la nube de forma segura, integrándose a la perfección con otros servicios de AWS.
Características clave:
- Escalabilidad: Se adapta a las necesidades de tus repositorios sin gestionar infraestructura.
- Seguridad: Integración con AWS Identity and Access Management (IAM) para un control de acceso detallado.
- Integración: Funciona bien con CodePipeline, CodeBuild y CodeDeploy, facilitando un flujo CI/CD completo.
- Alta disponibilidad: Construido sobre la infraestructura de AWS para garantizar alta disponibilidad y durabilidad.
- Cifrado: Datos cifrados en tránsito y en reposo para mayor seguridad.
Cursor Origin
Cursor Origin es una plataforma de alojamiento Git de Anysphere, el equipo detrás del editor de código Cursor AI. A diferencia de las plataformas anteriores, está diseñada desde cero para el desarrollo asistido por IA: aloja tus repos como cualquier forja Git, pero trata los commits y pull requests generados por agentes como ciudadanos de primera. También puedes espejar repositorios de GitHub en Origin, así que probarlo no implica abandonar tu flujo actual.
Características clave:
- Diseño centrado en agentes de IA: Los agentes de código de Cursor pueden enviar commits, abrir pull requests y actuar directamente sobre repositorios, ideal para desarrollo guiado por agentes.
- Espejo de GitHub: Replica tus repositorios de GitHub en Origin para adoptarlo gradualmente en lugar de migrar todo de golpe.
- Integración con Cursor: Integración estrecha con el editor Cursor y sus agentes en la nube para mantener hosting, edición y ejecuciones dentro de un mismo ecosistema.
- Flujos Git estándar: Repositorios, ramas y pull requests funcionan como esperas, con configuración vía CLI para empezar rápido.
- Revisión de pull requests: Revisión dentro de la plataforma para validar PR generados por IA antes de fusionarlos con la rama principal.
Para un recorrido práctico de la configuración por CLI y el espejado de un repo de GitHub, consulta nuestro tutorial de Cursor Origin.
Conclusión
En este artículo hemos visto los aspectos fundamentales de GitHub, su importancia y cómo funciona en detalle. Empezamos por el concepto de control de versiones y su papel a la hora de gestionar cambios en código y datos. Por último, ofrecimos una guía práctica para usar GitHub: registro, creación de repositorios, commits, gestión de pull requests y fusión de ramas.
El aprendizaje continuo es clave para triunfar en el mundo de los datos. Para ampliar tus horizontes sobre GitHub y sus aplicaciones en ciencia de datos, puedes escuchar el episodio de nuestro pódcast DataFramed sobre The Future of Programming with Kyle Daigle, con la visión del COO de GitHub sobre la evolución de la programación. También puedes explorar GitHub Concepts, un curso completo sobre todo lo relacionado con GitHub, y leer nuestra guía sobre certificaciones de GitHub para saber cómo pueden impulsar tu carrera.
Escritora y profesional de los datos con experiencia a la que le apasiona capacitar a los aspirantes a expertos en el espacio de los datos.
Preguntas frecuentes
¿Es difícil aprender GitHub?
Aunque Git, la tecnología subyacente, tiene su curva de aprendizaje, GitHub ofrece una interfaz fácil de usar para gestionar funcionalidades de Git.
¿En qué se diferencia Git de GitHub?
Git es un sistema de control de versiones que registra cambios en archivos, mientras que GitHub es una plataforma que aloja repositorios Git en línea.
¿Es seguro GitHub para guardar datos sensibles?
Los repositorios públicos en GitHub son visibles para todo el mundo. Es buena práctica no almacenar datos sensibles, como contraseñas o claves de API, en repos públicos. Usa repositorios privados en su lugar.
¿Tengo que pagar para usar GitHub?
GitHub ofrece un plan gratuito con repositorios públicos ilimitados y repositorios privados (con almacenamiento limitado). Los planes de pago incluyen más funciones, como mayor almacenamiento y colaboración avanzada.
¿Qué alternativas hay a GitHub?
GitLab, Bitbucket, SourceForge, AWS CodeCommit
¿Cómo puedo demostrar mis conocimientos de GitHub en entrevistas?
Para demostrar tu dominio de GitHub en entrevistas, plantéate obtener una GitHub Certification, que valida tus habilidades, refuerza tu currículum, aumenta tu confianza y demuestra compromiso con el aprendizaje.


