Saltar al contenido principal

Comprender GitHub: Qué es GitHub y cómo utilizarlo

Descubre los usos de GitHub, una herramienta para el control de versiones y la colaboración en la ciencia de datos. Aprende a gestionar repositorios, ramas y a colaborar eficazmente.
Actualizado 29 jul 2024  · 9 min de lectura

¿Qué es GitHub?

Logotipo de GitHub. Fuente: Logos y uso de GitHub 

Imagina que estás trabajando en un proyecto de ciencia de datos, y que has hecho progresos significativos. De repente, aparece un bicho. Te gustaría poder volver a la última versión que funcionó, pero no recuerdas todos los cambios que has hecho. O tal vez estés colaborando con otros, y sea una pesadilla combinar las aportaciones de todos. Si estas situaciones te suenan, no eres el único.

Estos problemas comunes pueden resolverse con GitHub, la mejor plataforma de colaboración y control de versiones. En este artículo, veremos cómo GitHub puede mejorar la forma en que gestionas tus proyectos de datos. Además, exploraremos técnicas de colaboración y estrategias para aumentar la productividad.

Empecemos por comprender los fundamentos del control de versiones.

¿Qué es el control de versiones?

El control de versiones es un sistema que rastrea los cambios en los archivos a lo largo del tiempo. Permite que muchas personas colaboren en un proyecto. También mantiene un historial de modificaciones. Sin el control de versiones, la gestión de los cambios en el código puede resultar caótica y propensa a errores, especialmente en proyectos basados en equipos en los que distintos colaboradores pueden estar trabajando en varias partes del código simultáneamente.

¿Para qué se utiliza GitHub?

Como habrás adivinado, GitHub es una plataforma versátil que destaca en el control de versiones. Pero GitHub también tiene numerosas aplicaciones más allá del control de versiones, como por ejemplo

  • Creación de carteras de proyectos: GitHub te permite crear un perfil público de GitHub para mostrar tus habilidades y proyectos de datos a empleadores o colegas.

  • Colaboración: GitHub facilita el trabajo conjunto en proyectos con compañeros de equipo. Esto implica compartir fragmentos de código y revisar el trabajo de los demás.

  • Contribución de código abierto: Con GitHub, puedes explorar y contribuir a los proyectos de ciencia de datos de código abierto existentes. Esto acelera el aprendizaje y la innovación.

¿Cómo funciona GitHub?

Para comprender plenamente las ventajas de GitHub, es esencial entender sus componentes clave y cómo funcionan juntos. 

  • Repositorios: Los repositorios son carpetas que almacenan los archivos de tu proyecto y su historial de versiones. Puedes pensar en ellos como archivadores digitales para tus proyectos de datos. Cada repositorio tiene una URL única y contiene archivos, ramas y confirmaciones.
  • Horquillas: Un fork es una copia personal del repositorio de otro usuario. Puedes hacer cambios de forma independiente. Más tarde, puedes volver a proponerlos al repositorio original.
  • Pull Requests: Los PR son una forma formal de proponer tus cambios al propietario original del proyecto para que los revise y los fusione. Facilitan la revisión del código y la colaboración.
  • Cuestiones: Se utilizan para realizar el seguimiento de tareas, errores o mejoras. 
  • Sucursales: Una rama es una versión paralela de un repositorio. Puedes crear ramas para trabajar en funciones o correcciones concretas. Fúndelos de nuevo en la rama principal cuando estés listo. Aprende más sobre esto en este tutorial sobre Git Clonar Rama.
  • Fusión: La fusión combina los mejores aspectos de tus cambios con el proyecto original. Esto mantiene todo organizado y actualizado. Un buen ejemplo es fusionar una rama de características en la rama principal.

Git frente a GitHub

Quizá te preguntes qué relación hay entre Git y GitHub. Estos dos términos se utilizan a menudo indistintamente, pero hay una distinción clave.

Git es un sistema de control de versiones distribuido (SCVD) que ayuda a los desarrolladores a gestionar su código. Realiza un seguimiento de los cambios y permite crear distintas versiones, o ramas, del código. Esto facilita el trabajo conjunto de los desarrolladores. Git también admite funciones como las áreas de preparación y los historiales de confirmaciones, que proporcionan un registro detallado de las modificaciones del código.

GitHub, por otro lado, proporciona funciones adicionales como control de acceso, seguimiento de errores, gestión de tareas y wikis, lo que facilita a los desarrolladores la colaboración en los proyectos. Al utilizar GitHub, puedes gestionar tu código, realizar un seguimiento de los cambios, revisar las contribuciones y debatir los problemas, todo en un mismo lugar. También se integra con diversas herramientas y servicios, lo que mejora el flujo de trabajo de desarrollo.

Categoría

Git

GitHub

Definición

Sistema de control de versiones distribuido

Plataforma basada en web construida sobre Git

Propósito

Te ayuda a gestionar el código, seguir los cambios y crear ramas 

Aloja repositorios Git y proporciona herramientas de colaboración adicionales

Características

Zonas de preparación, historiales de confirmaciones, bifurcaciones y fusiones

Control de acceso, seguimiento de errores, gestión de tareas, wikis e integraciones

Benefíciate

Permite el trabajo colaborativo y el seguimiento detallado de los cambios en el código

Mejora los procesos de colaboración, gestión de proyectos y revisión de código

Cómo utilizar GitHub

Hasta ahora, hemos visto qué es GitHub y qué es el control de versiones. También hemos explorado la comparación entre Git y GitHub. Ahora, pongámonos manos a la obra con GitHub.

En primer lugar, aprenderemos a registrarnos en una cuenta de GitHub, a personalizar nuestra experiencia y a elegir un plan. A continuación, veremos cómo crear un repositorio, incluyendo su configuración, la adición de descripciones y la gestión de la visibilidad. Después de eso, cubriremos la creación de ramas para trabajar en diferentes versiones de nuestro proyecto y luego pasaremos a hacer commits, donde aprenderemos a editar archivos y documentar cambios.

Inscribirse

Aquí tienes los pasos para registrarte en una cuenta de GitHub y empezar:

  1. Visita GitHub y haz clic en el botón Regístrate.
  2. Sigue las instrucciones para crear una cuenta. Tendrás que proporcionar tu dirección de correo electrónico, crear un nombre de usuario y establecer una contraseña.
  3. Puedes personalizar tu experiencia eligiendo un plan que se adapte a ti. También puedes personalizar tus preferencias durante la configuración. El plan gratuito es suficiente para principiantes y profesionales de datos noveles.

Registro en GitHub Registrarse en GitHub. Imagen del autor

Crear un repositorio

Después de registrarte, el siguiente paso es crear un repositorio. Aquí tienes los pasos para crear tu primer repositorio:

  1. Haz clic en el icono + de la esquina superior derecha y selecciona Nuevo repositorio.

  2. Puedes añadir un nombre y una descripción, y puedes elegir si quieres que el repositorio sea público o privado. Los repositorios públicos son visibles para todos. Los repositorios privados sólo son accesibles para ti y para los colaboradores que invites.

  3. Opcionalmente, puedes añadir un archivo README, un archivo .gitgnore y una licencia. También se pueden añadir más adelante.

  4. Haz clic en Crear repositorio.

Crear un repositorio en GitHub

Crear un repositorio. Imagen del autor

Después de seguir el paso a paso indicado anteriormente, verás una ventana que muestra una configuración rápida, normalmente para un nuevo repositorio. Puedes iniciar esta configuración creando un nuevo archivo o subiendo un archivo existente al nuevo repositorio.

GitHub Configuración del nuevo repositorio

Nueva configuración del repositorio. Imagen del autor

Subir archivos al nuevo repositorio de GitHub

Subir archivos. Imagen del autor

Crear ramas

Una vez configurado tu repositorio, el siguiente paso es crear ramas. Estos son los pasos para crear ramas en tu repositorio:

  1. En tu repositorio, haz clic en Rama:principal. Puedes encontrarlo cerca de la parte superior de la página.

  2. A continuación, puedes hacer clic en el botón Nueva rama, situado en la esquina superior derecha.

  3. Introduce un nuevo nombre de rama y haz clic en Crear nueva rama.

  4. Puedes pasar de una rama a otra haciendo clic en el desplegable de la rama y seleccionando la rama en la que quieres trabajar.

Crear ramas en un repositorio GitHub

Crear ramas. Imagen del autor

Hacer commits

Después de crear ramas, el siguiente paso es hacer commits. Estos son los pasos para confirmar los cambios:

  1. Navega hasta el archivo que quieres editar en tu repositorio.

  2. Puedes hacer cambios pulsando en el icono del lápiz para editar el archivo y haciendo tus cambios en el editor de texto.

  3. Haz clic en Confirmar cambios. Simplemente desplázate hasta la sección Confirmar cambios. Es importante añadir un mensaje de confirmación, ya que describe los cambios que has realizado.

Hacer confirmaciones en un repositorio de GitHub

Haciendo compromisos. Imagen del autor

Crear un pull request

Una vez que hayas hecho commits, el siguiente paso es crear un pull request. Estos son los pasos para crear una pull request:

  1. Ve a la pestaña Pull requests de tu repositorio.

  2. Haz clic en Nueva solicitud de extracción. GitHub comparará automáticamente los cambios entre ramas.

  3. Revisa los cambios para asegurarte de que todo es correcto comparando los cambios entre tu rama y la rama principal.

  4. Crea una pull request haciendo clic en Crear pull request. A continuación, puedes añadir un título y una descripción para tu pull request.

  5. Añade revisores si es necesario, y envíalo. Esto es opcional, pero puede ser muy importante si te preocupan tus cambios y recibir comentarios de la dirección.

Crear una pull request en un repositorio de GitHub

Crear un pull request. Imagen del autor

Fusionar ramas

Después de que tu pull request haya sido revisada y aprobada, el paso final es fusionar ramas. Estos son los pasos para fusionar ramas:

  1. Una vez revisada y aprobada la pull request, navega hasta ella en la pestaña Pull requests.
  2. Haz clic en el botón Fusionar pull request.
  3. Confirma la fusión haciendo clic en Confirmar fusión.

Además de utilizar la GUI de GitHub, puedes utilizar Git para realizar la mayoría de las tareas. Por ejemplo, puedes crear un repositorio Git localmente y fusionar los cambios de un repositorio remoto con el comando git pull. Sentirse cómodo en este tipo de entorno es importante a medida que avanzas en tu carrera, y el curso Introducción a Git de DataCamp es un gran recurso para tu viaje.  También puedes probar nuestro Tutorial de GitHub y Git para principiantes para empezar. 

Alternativas a GitHub

GitHub es la plataforma más popular para el control de versiones y la colaboración. Sin embargo, hay varias alternativas que tienen ofertas y ventajas únicas. Es muy importante que los aspirantes a profesionales de los datos conozcan estas plataformas que pueden satisfacer sus necesidades específicas. 

Veamos algunas de las alternativas a GitHub.

GitLab

Se trata de una plataforma DevOps que ofrece funciones de gestión de repositorios Git, seguimiento de incidencias y canalización CI/CD. GitLab es popular por su enfoque "todo en uno" de DevOps mediante la integración de una amplia gama de herramientas y servicios.

GitLab logo

GitLab logo

Veamos algunas características clave:

  • CI/CD integrado: GitLab tiene canalizaciones integradas para la integración y el despliegue continuos. Estos pipelines automatizan las pruebas y el despliegue del código.
  • Seguimiento de problemas: Con el sistema de seguimiento de incidencias de GitLab, puedes gestionar tareas, errores y peticiones de características. Este sistema utiliza tableros, hitos y etiquetas.
  • Auto DevOps: Esta función configura canalizaciones basadas en la estructura del proyecto, lo que ahorra tiempo durante la configuración
  • Registro de contenedores: GitLab proporciona un registro de contenedores integrado para gestionar imágenes Docker.
  • Características de seguridad: Las herramientas integradas de pruebas de seguridad permiten una supervisión continua. Estas herramientas también buscan vulnerabilidades en tu código base.

Bitbucket

Bitbucket es un producto de la suite Atlassian que gestiona repositorios Git, incluyendo repositorios Mercurial. Está diseñado para funcionar fácilmente con otros productos de Atlassian, como Jira y Trello.

Logotipo de Bitbucket

Logotipo de Bitbucket

Aquí tienes algunas características clave:

  • Permisos de sucursal: Bitbucket permite un control detallado sobre quién puede acceder a las ramas y modificarlas. Esto aumenta la seguridad.
  • Integración CI/CD: Se integra con Bitbucket Pipelines para la integración y entrega continuas. Esto permite automatizar las pruebas y el despliegue.
  • Jira Integration: La integración directa con Jira permite una gestión integral de los proyectos. También permite seguir el progreso del desarrollo.
  • Pull Requests: Los comentarios en línea y las revisiones pull request facilitan procesos eficaces de revisión del código.
  • Despliegue: Admite despliegues a través de Bitbucket Pipelines, lo que permite agilizar los procesos de despliegue.

SourceForge

SourceForge es una de las plataformas originales para alojar y gestionar proyectos de código abierto. Ofrece una amplia gama de herramientas para desarrolladores. Incluyen repositorios de código, seguimiento de errores y funciones de gestión de proyectos.

Las características principales son:

  • Alojamiento del proyecto: Proporciona alojamiento gratuito para proyectos de código abierto. Esto incluye ancho de banda y almacenamiento ilimitados.
  • Descargar estadísticas: Las estadísticas detalladas sobre las descargas de proyectos ayudan a seguir la popularidad de los proyectos. También ayudan a seguir el progreso de los proyectos.
  • Foros de debate: Los foros integrados facilitan la participación y el apoyo de la comunidad.
  • Sistema de liberación de archivos: Un sistema avanzado de liberación de archivos gestiona las descargas y versiones de los proyectos.
  • Soporte SVN y Git: Admite los sistemas de control de versiones Subversion (SVN) y Git.

AWS CodeCommit

AWS CodeCommit es un servicio de control de código fuente totalmente gestionado y alojado por Amazon Web Services . Te permite almacenar y administrar de forma segura tu código en la nube, integrándose perfectamente con otros servicios de AWS.

Las características principales son:

  • Escalabilidad: AWS CodeCommit se escala para satisfacer tus necesidades de repositorios sin necesidad de administrar la infraestructura.
  • Seguridad: La integración con AWS Identity and Access Management (IAM) proporciona un control de acceso de grano fino.
  • Integración: Funciona bien con otros servicios de AWS como CodePipeline, CodeBuild y CodeDeploy. Esto facilita un flujo de trabajo CI/CD completo.
  • Alta disponibilidad: Construido sobre la infraestructura de AWS. Esto garantiza una alta disponibilidad y durabilidad de tus repositorios.
  • Cifrado: Los datos se encriptan tanto en tránsito como en reposo, lo que aumenta la seguridad.

Conclusión

En este artículo, hemos explorado los aspectos fundamentales de GitHub, su importancia y detallado su funcionamiento. Empezamos por comprender el concepto de control de versiones y su importancia para gestionar los cambios en el código y los datos.  Por último, proporcionamos una guía práctica para utilizar GitHub. Esto implicaba registrarse, crear repositorios, hacer commits, gestionar pull requests y fusionar ramas. 

Una puerta de acceso al éxito en el espacio de los datos es el aprendizaje continuo, y para ampliar aún más tus horizontes sobre GitHub y sus aplicaciones en la ciencia de datos, puedes escuchar nuestro episodio del podcast DataFramed sobre El futuro de la programación con Kyle Daigle, que proporciona ideas del COO de GitHub sobre el panorama en evolución de la programación, y también puedes explorar Conceptos de GitHub, un curso completo sobre todo lo relacionado con GitHub. También puedes leer nuestra guía sobre las certificaciones de GitHub para saber más sobre cómo puede beneficiar a tu carrera.

Preguntas frecuentes

¿Es GitHub difícil de aprender?

Mientras que Git, la tecnología subyacente, tiene una curva de aprendizaje, GitHub proporciona una interfaz fácil de usar para gestionar las funcionalidades de Git.

¿En qué se diferencia Git de GitHub?

Git es un sistema de control de versiones que rastrea los cambios en los archivos, mientras que GitHub es una plataforma que aloja repositorios Git en línea.

¿Es seguro GitHub para almacenar datos sensibles?

Los repositorios públicos en GitHub son visibles para todo el mundo. Es una buena práctica evitar almacenar datos sensibles, como contraseñas o claves API, en repositorios públicos. Utiliza en su lugar repositorios privados.

¿Tengo que pagar para usar GitHub?

GitHub ofrece un plan gratuito con repositorios públicos ilimitados y repositorios privados (almacenamiento limitado). Los planes de pago ofrecen funciones adicionales, como mayor almacenamiento y colaboración avanzada.

¿Cuáles son algunas alternativas a GitHub?

GitLab, Bitbucket, SourceForge, AWS CodeCommit

¿Cómo puedo demostrar mis conocimientos de GitHub en las entrevistas?

Para mostrar eficazmente tu experiencia en GitHub durante las entrevistas, considera la posibilidad de obtener una Certificación GitHub que valide tus habilidades, mejore tu currículum, aumente tu confianza y demuestre tu compromiso con el aprendizaje.

Temas

Aprende con DataCamp

curso

GitHub Concepts

2 hr
14.4K
Learn how to use GitHub's various features, navigate the interface and perform everyday collaborative tasks.
Ver detallesRight Arrow
Comienza El Curso
Ver másRight Arrow
Relacionado

blog

¿Qué es shell?

Descubre qué es shell y cómo aprenderlo puede convertirte en un científico de datos más eficiente y versátil.

Wendy Gittleson

13 min

R Project

blog

Las 8 mejores ideas de proyectos R para 2023

Descubra qué es R y todas las ventajas de utilizarlo, a la vez que ofrece ejemplos y nuevas ideas para un proyecto.

Elena Kosourova

16 min

tutorial

Tutorial de GitHub y Git para principiantes

Un tutorial para principiantes que muestra cómo funciona el control de versiones Git y por qué es crucial para los proyectos de ciencia de datos.
Abid Ali Awan's photo

Abid Ali Awan

17 min

tutorial

Git rename branch: Cómo cambiar el nombre de una rama local o remota

Aprende a renombrar ramas Git locales y remotas utilizando el terminal o la interfaz gráfica de usuario (GUI) de clientes populares como GitHub.
François Aubry's photo

François Aubry

tutorial

Tutorial de GIT Push y Pull

Aprende a realizar solicitudes de Git PUSH y PULL con GitHub Desktop y la línea de comandos.

Olivia Smith

13 min

tutorial

Tutorial de Git Revert y Git Reset para principiantes

Una guía tutorial para principiantes que muestra cómo utilizar los comandos Git Revert y Reset.
Zoumana Keita 's photo

Zoumana Keita

10 min

See MoreSee More