Ir al contenido principal

Tutorial de GitHub y Git para principiantes

Un tutorial para principiantes que muestra cómo funciona Git y por qué es clave en proyectos de ciencia de datos.
Actualizado 22 jul 2026  · 9 min leer

Explorar con IA

Abrir en ChatGPTAbrir en ClaudeAbrir en Perplexity

\"Image

¿Qué es Git?

Git es un sistema de control de versiones distribuido y de código abierto. Permite a desarrolladores y científicos de datos hacer seguimiento del código, fusionar cambios y volver a versiones anteriores - AWS. Te permite sincronizar cambios con un servidor remoto. Por su flexibilidad y popularidad, Git se ha convertido en un estándar del sector, ya que es compatible con casi todos los entornos de desarrollo, herramientas de línea de comandos y sistemas operativos. 

¿Cómo funciona Git?

Git guarda tus archivos y su historial de desarrollo en un repositorio local. Cada vez que guardas cambios, Git crea un commit. Un commit es una instantánea del estado actual de los archivos. Estos commits están enlazados entre sí formando un grafo de historial de desarrollo, como se muestra abajo. Permite volver a un commit anterior, comparar cambios y ver el progreso del proyecto - Azure DevOps. Los commits se identifican con un hash único que se usa para comparar y revertir cambios.  

\"A

Grafo del historial de desarrollo

Ramas

Las ramas son copias del código fuente que trabajan en paralelo a la versión principal. Para guardar los cambios realizados, fusiona la rama con la versión principal. Esta función favorece un trabajo en equipo sin conflictos. Cada desarrollador tiene su tarea y, usando ramas, puede trabajar en una nueva funcionalidad sin interferencias de otros compañeros. Cuando la tarea termina, puedes fusionar las nuevas funciones con la versión principal (rama master). Si quieres aprender a clonar una rama, echa un vistazo a este tutorial sobre Git Clone Branch.

\"Adding
Añadir una nueva funcionalidad al repositorio 


Commits

En Git, los archivos pasan por tres estados: modificado, preparado (staged) y confirmado (commit). Cuando haces cambios en un archivo, se guardan en el directorio local, pero aún no forman parte del historial de Git. Para crear un commit, primero tienes que preparar los archivos cambiados. Puedes añadir o quitar cambios en el área de preparación y luego empaquetarlos en un commit con un mensaje que describa qué has cambiado.  

\"Three
Tres estados de los archivos en Git

¿Cuáles son las ventajas de Git?

  • Seguimiento de cambios: permite ver cambios históricos. El historial facilita identificar y corregir errores.
  • Integración con IDE: por su popularidad, Git se integra en todos los entornos de desarrollo, como VSCode y JupyterLab.
  • Colaboración en equipo: el equipo puede ver su progreso y, mediante ramas, trabajar de forma individual en una tarea y fusionar los cambios con la versión principal. Las pull requests, la resolución de conflictos y las revisiones de código fomentan la colaboración. 
  • VCS distribuido: en un sistema distribuido no hay almacenamiento centralizado. Hay múltiples copias de seguridad del mismo proyecto. Este enfoque permite trabajar sin conexión y seguir confirmando cambios. 

Git en proyectos de ciencia de datos

Git ofrece control de versiones para scripts, métricas, datos y modelos. Con la extensión git-lfs, puedes almacenar y versionar grandes bases de datos y modelos de aprendizaje automático. En un proyecto típico de ciencia de datos, tienes un cuaderno de Jupyter, dataset, modelo, metadatos y métricas del modelo. Los metadatos incluyen archivos con la información del modelo de machine learning, sus variables, parámetros y archivos de automatización. Todo esto es necesario para monitorizar el progreso de las aplicaciones de IA y resolver incidencias. 

Registrar los experimentos de ciencia de datos ayuda a revertir cambios accidentales, elegir el mejor experimento según la métrica de rendimiento y colaborar con el equipo. El diagrama muestra cómo los cambios en datos o código afectan a los metadatos y a la salida del modelo. Seguir estos cambios también puede ayudar a que otros compañeros encuentren una mejor solución. Aprende todo sobre Git en el último blog de Summer Worsley.

\"Git
Git en un proyecto de ciencia de datos 

Colaboración con GitHub

GitHub es una plataforma en la nube para desarrollo de software. Se usa para guardar archivos, seguir cambios y colaborar en proyectos. En los últimos años, GitHub se ha convertido en la plataforma social más popular para comunidades de desarrollo de software. Las personas pueden contribuir a proyectos de código abierto y a informes de errores, debatir nuevas ideas y descubrir herramientas. 

Los científicos de datos y los ingenieros de machine learning siguen el camino de los desarrolladores de software e integran su flujo de trabajo con GitHub. Así comparten su investigación, permiten la contribución de la comunidad y colaboran con los equipos de datos. En esta plataforma encontrarás todo tipo de proyectos, guías, tutoriales y recursos de ciencia de datos y aprendizaje automático. Para estudiantes, se ha convertido en una oportunidad de ganar experiencia y, con ello, acceder a un puesto en una empresa de prestigio. 

Portfolio

La mayoría de reclutadores técnicos pedirán tus proyectos de portfolio o tu perfil de GitHub. Esto les ayuda a evaluar si encajas con la empresa. Es muy recomendable crear un perfil de GitHub y mantenerlo actualizado. Los responsables de selección buscan candidatos con experiencia en desarrollo de software y que contribuyan a proyectos open source. Poder analizar el portfolio de GitHub también les ayuda a preparar preguntas para las entrevistas técnicas. 

\"GitHub
Perfil de GitHub

GitHub permite a los científicos de datos mostrar sus proyectos, y también puede contar como experiencia laboral en tu CV. Enseñar tu portfolio crea oportunidades de colaborar, lanzar una startup y hacer investigación. 

\"Portfolio
Proyectos de portfolio

Funciones

GitHub también ofrece otras funciones tan importantes como mostrar tu portfolio. Conviene conocerlas para incorporarlas a tus proyectos de ciencia de datos. 

  • Código abierto: GitHub proporciona un ecosistema completo para proyectos open source. Puedes patrocinar mantenedores, contribuir, usar herramientas de código abierto en tus proyectos y dar visibilidad a tu trabajo. 
  • Colaboración comunitaria: GitHub se ha convertido en una plataforma donde debatir issues, solicitudes de mejoras, contribuciones de código y documentación. 
  • Explore: la pestaña Explore te ayuda a descubrir proyectos nuevos, herramientas en tendencia y eventos para desarrolladores. 
  • GitHub Gists: puedes compartir fragmentos de código o insertarlos en un blog o web. 
  • GitHub CLI: permite hacer pull/merge requests, revisar código, ver issues y monitorizar el progreso desde la línea de comandos. 
  • Almacenamiento gratuito: repositorios privados y públicos sin límite.
  • Alojamiento web: puedes publicar tu web de portfolio o documentación. GitHub Pages facilita la creación y el despliegue. 
  • Codespace: un entorno de desarrollo en la nube integrado con tu repositorio de GitHub. 
  • Project: una herramienta personalizable y flexible para planificar y hacer seguimiento del trabajo en GitHub.
  • Automatización: GitHub Actions automatiza el flujo de desarrollo: build, test, publicación, releases y despliegue.
  • Sponsor: puedes apoyar tu proyecto o desarrolladores favoritos con una cuota mensual o un pago único. También permite usar plataformas de pago de terceros como ko-fi. 

Comandos básicos

Antes de ponernos con la gestión de proyectos de ciencia de datos, veamos los comandos de Git más comunes que usarás en cualquier proyecto. Entre los básicos están inicializar el repositorio, guardar cambios, consultar el historial, subir cambios al remoto y fusionar. 

  • git init crea un repositorio de Git en un directorio local.

  • git clone <dirección-repo-remoto>: copia el repositorio completo desde un servidor remoto al directorio local. También puedes usarlo para copiar repositorios locales.

  • git add <file.txt>: añade uno o varios archivos y carpetas al área de preparación.

  • git commit –m “Mensaje”: crea una instantánea de los cambios y la guarda en el repositorio. 

  • git config se usa para configurar datos de usuario como email, nombre de usuario y formato de archivos. 

  • git status muestra la lista de archivos cambiados o que aún no están preparados ni confirmados.  

  • git push <nombre-remoto> <nombre-rama>: envía commits locales a la rama remota del repositorio.  

  • git checkout -b <nombre-rama>: crea una rama nueva y cambia a ella.

  • git remote –v: muestra todos los repositorios remotos.

  • git remote add <nombre-remoto> <host-o-URLremoto>: añade un servidor remoto al repositorio local. 

  • git branch –d <nombre-rama>: elimina la rama.

  • git pull merge integra commits desde un repositorio remoto en el directorio local. 

  • git merge <nombre-rama>: tras resolver los conflictos, fusiona la rama seleccionada en la rama actual.

  • git log muestra un listado detallado de commits de la rama actual.

\"Complete
Desarrollo completo con GitHub

Si te interesa aprender más comandos, consulta nuestra chuleta de Git

Primeros pasos

En esta sección usaremos Git para seguir un proyecto de ciencia de datos y GitHub como servidor remoto. Veremos cómo instalar Git, crear y clonar un repositorio de GitHub, ejecutar experimentos de machine learning y subir cambios (notebook, modelo, datos) a GitHub usando Windows PowerShell 7.  

Instalar Git

Git es compatible con todos los sistemas operativos. Puedes instalarlo mediante la línea de comandos o descargando e instalando el paquete. 

Linux

En sistemas Debian/Ubuntu usa `apt-get install git`, y si usas otra distribución Linux, consulta la lista completa de comandos de instalación aquí.

macOS

Si tienes homebrew, instala Git con: `brew install git`. También puedes descargar el instalador binario y ejecutarlo.

Windows

Instalar Git en Windows es muy sencillo. Ve a la página de descargas, elige tu versión de Windows y descarga e instala el paquete. Si tienes la herramienta winget, puedes instalarlo escribiendo winget install --id Git.Git -e --source winget en PowerShell. 

Tras instalar Git, asegúrate de configurar tu nombre de usuario y email. Esta información se usa para firmar los commits. 

git config --global user.name \"your-user-name\"\ngit config --global user.email \"your@email.com\"

Para información más detallada sobre cómo instalar Git, haz clic aquí

Inicializar el proyecto

Si tienes cuenta en GitHub, haz clic en el botón + y selecciona nuevo repositorio. Después, escribe el nombre y añade una breve descripción. Se creará un repositorio público vacío. 

\"Creating
Crear proyecto

Hay varias formas de clonar repositorios remotos al directorio local, y GitHub ofrece una guía detallada para clonar, añadir el remoto e inicializar un proyecto con Git.  

\"GitHub
Clonar desde GitHub

Podemos clonar el repositorio simplemente proporcionando el enlace HTTPS. Asegúrate de estar en el directorio de trabajo usando el símbolo del sistema o PowerShell. 

git clone https://github.com/kingabzpro/DataCamp-Git.git\n\n>>> Cloning into 'DataCamp-Git'...\n>>> warning: You appear to have cloned an empty repository.\n\ncd .\\DataCamp-Git\\

O

Crea un directorio llamado “DataCamp-Git” e inicializa Git con un comando sencillo. Después, añade la conexión con el repositorio remoto para sincronizar tu trabajo con GitHub.

mkdir DataCamp-Git\ncd .\\DataCamp-Git\ngit init\n\n>>> Initialized empty Git repository in C:/Repository/GitHub/DataCamp-Git/.git/\n\ngit remote add origin https://github.com/kingabzpro/DataCamp-Git.git

O

Si ya tienes un proyecto en un directorio, simplemente inicializa Git con `git init` y añade el remoto de GitHub, como arriba. 

Commit sencillo

Antes de añadir archivos al repositorio, asegúrate de estar en el directorio local correcto. 

Empezaremos creando un README con el encabezado DataCamp-Git. Luego lo añadiremos al área de preparación con `git add`. 

echo \"# DataCamp-Git\" >> README.md\ngit add README.md

git status muestra que estamos en la rama main y que el archivo `README.md` está preparado y listo para confirmar.  

git status\n\n>>> On branch main\n>>> No commits yet\n>>> Changes to be committed:\n  (use \"git rm --cached <file>...\" to unstage)\n        new file:   README.md

Para crear el primer commit, usaremos `git commit` con un mensaje. Como vemos, el primer commit se añade bajo el hash ed9c886.

git commit -m \"first commit\"\n\n>>> [main (root-commit) ed9c886] first commit\n>>> 1 file changed, 1 insertion(+)\n>>> create mode 100644 README.md

Añadir archivos del proyecto

Usaremos el workspace de DataCamp MasterCard Stock Price with LSTM and GRU y descargaremos los archivos. El autor ha preprocesado los datos y ha entrenado series temporales con modelos LSTM y GRU. Aprende más leyendo el tutorial de redes neuronales recurrentes (RNN).

Para guardar el modelo, añadimos una celda de código al cuaderno de Jupyter del proyecto. El script crea un directorio “model” y guarda los modelos LSTM y GRU. 

!mkdir -p model\nmodel_lstm.save('model/LSTM')\nmodel_gru.save('model/GRU')

Como vemos, el repositorio tiene una carpeta data con archivos CSV y la carpeta model con los pesos y metadatos de los modelos. 

\"Git

Ahora prepararemos todos los archivos. Puedes añadir cualquier directorio, archivo o datos tras el comando inicial. 

git add .\\data .\\model LSTM_GRU.ipynb RNN.png

O

Si quieres añadir todo al área de preparación, usa el punto. 

git add .

Commit y push

Confirmaremos todos los cambios con un mensaje sencillo; la salida muestra los archivos nuevos en modo create. 

git commit -m \"project files added\"\n\n>>> [main aa3e19a] project files added\n>>>  10 files changed, 5020 insertions(+)\n>>>  create mode 100644 LSTM_GRU.ipynb\n>>>  create mode 100644 RNN.png\n>>>  create mode 100644 data/Mastercard_stock_history.csv\n>>>  create mode 100644 data/Mastercard_stock_info.csv\n>>>  create mode 100644 model/GRU/saved_model.pb\n>>>  create mode 100644 model/GRU/variables/variables.data-00000-of-00001\n>>>  create mode 100644 model/GRU/variables/variables.index\n>>>  create mode 100644 model/LSTM/saved_model.pb\n>>>  create mode 100644 model/LSTM/variables/variables.data-00000-of-00001\ncreate mode 100644 model/LSTM/variables/variables.index

Para sincronizar con el repositorio remoto en GitHub necesitas el nombre del remoto y el de la rama: `git push <nombre-remoto> <nombre-rama>`. Si solo tienes un remoto y una rama, basta con `git push`.  

Tras `git push`, aparecerá una ventana pidiendo credenciales: introduce tu usuario y contraseña de GitHub. También puedes generar tokens de acceso personal y usarlos en lugar de la contraseña. Aprende más en el tutorial de Git push y pull.

git push\n\n>>> Enumerating objects: 21, done.\n>>> Counting objects: 100% (21/21), done.\n>>> Delta compression using up to 4 threads\n>>> Compressing objects: 100% (19/19), done.\n>>> Writing objects: 100% (21/21), 1.83 MiB | 1.59 MiB/s, done.\n>>> Total 21 (delta 2), reused 0 (delta 0), pack-reused 0\n>>> remote: Resolving deltas: 100% (2/2), done.\n>>> To https://github.com/kingabzpro/DataCamp-Git.git\n>>>  * [new branch]      main -> main

Vamos a revisar el repositorio en GitHub kingabzpro/DataCamp-Git para confirmar que los cambios se han subido al remoto. El repositorio contiene todos los archivos, datos y modelos.

\"Remote
Push al remoto en GitHub

Ramas en Git

Se recomienda trabajar con ramas: por ejemplo, si vas a trabajar en la documentación del proyecto, crea una rama de documentación con git checkout o git branch. Haz cambios en el README y, cuando los tengas listos, fusiona la rama con la base. 

En nuestro caso, hemos creado y cambiado a una nueva rama llamada readme.

git checkout -b readme

Editemos el README añadiendo una descripción del proyecto y enlazando el workspace de RNN en DataCamp y el tutorial. Después prepararemos los cambios y guardaremos una instantánea con un mensaje.

git add README.md\ngit commit -m \"project description and links to blog\"\n\n>>> [readme f3b8b9b] project description and links to blog\n>>>  1 file changed, 8 insertions(+)

El repositorio remoto no tiene la rama readme. Para crearla y subir los cambios, usaremos “readme:readme”. La salida indica que se han creado las nuevas ramas y que las ramas local y remota `readme` están sincronizadas. 

git push origin readme:readme\n>>> remote: Resolving deltas: 100% (1/1), completed with 1 local object.\n>>> remote: Create a pull request for 'readme' on GitHub by visiting:\n>>> remote:  https://github.com/kingabzpro/DataCamp-Git/pull/new/readme\n>>> remote:\nTo https://github.com/kingabzpro/DataCamp-Git.git\n>>>  * [new branch]      readme -> readme

Puedes comprobar que hemos subido correctamente la rama local a GitHub con la versión modificada del archivo README.md. 

\"Readme
Rama readme en GitHub

Pull request

Esta funcionalidad es habitual en organizaciones. Por ejemplo, una persona desarrolladora ha trabajado en una nueva funcionalidad y quiere fusionar los cambios en la rama principal remota. Crearemos una pull request desde la interfaz de GitHub haciendo clic en el botón correspondiente. Después, selecciona la rama readme que quieres fusionar con la base (main). Puedes escribir una explicación detallada de lo que has añadido y pulsar el botón de pull request. 

\"Pull
Pull request de readme a main

La persona mantenedora del repositorio comparará tus cambios y los fusionará cuando pasen todas las pruebas. En nuestro caso, tú eres quien mantiene el repo, así que haz clic en merge request para integrar los cambios en la rama principal. 

\"GitHub
Fusionar la pull request en GitHub

Enhorabuena, hemos creado una pull request y la hemos fusionado con la rama principal. Puedes ver los cambios en la rama main aquí

Si quieres ver todos los cambios en tu repositorio, escribe `git log` y verás el historial del proyecto. Registrar cambios en proyectos de ciencia de datos es importante, y Git nos ayuda a seguirlos, incluso en datasets grandes. 

\"History
Historial de logs de Git

Conclusiones

Las prácticas de GitOps son cruciales para el desarrollo de aplicaciones de datos. Se han convertido en una habilidad esencial para todo tipo de puestos de TI; incluso investigadores académicos las usan para compartir código experimental con una audiencia más amplia. Por su parte, GitHub desempeña un papel fundamental en la promoción del open source al ofrecer un ecosistema de desarrollo gratuito para todos. 

En este tutorial hemos visto qué son Git y GitHub y por qué son importantes en proyectos de ciencia de datos. También has conocido los comandos básicos de Git y has practicado cómo seguir cambios en datos, modelos y código. Si quieres seguir aprendiendo, haz el curso de Introduction to Git en DataCamp. También puedes informarte sobre la certificación GitHub Foundations y cómo puede impulsar tu carrera profesional. 

Conviértete en Ingeniero de Datos

Conviértete en un ingeniero de datos mediante el aprendizaje avanzado de Python
Empieza a Aprender Gratis

Preguntas frecuentes sobre Git

¿Qué es Git?

Un sistema de control de versiones distribuido y de código abierto. Permite a desarrolladores almacenar, versionar y visualizar cambios en un proyecto de desarrollo. Favorece el trabajo en equipo flexible y optimiza el flujo de trabajo. 

¿Qué significan las siglas Git?

No es un acrónimo. Según su creador, Linus Torvalds, “Git puede significar cualquier cosa, depende de tu estado de ánimo”. Es una combinación de tres letras aleatorias que no utiliza ningún comando de UNIX.  

¿Cómo clono un repositorio de Git?

Solo escribe `git clone <dirección del repositorio remoto>` en una terminal. Puedes clonar repositorios locales y remotos. Admite tanto protocolos SSH como HTTPS.

¿Cómo borro una rama en Git?

Para borrar una rama local, usa `git branch -d <nombre_rama_local>`, y para borrar la rama remota, usa `git push <nombre_remoto> -d <nombre_rama_remota>`.

¿Cómo cambio de rama en Git?

Cambia a una rama existente con `git checkout <nombre_rama>` o crea y cambia a una nueva con `git checkout -b <nombre_rama>`.

¿Cómo instalo Git?

En sistemas Linux usa `apt-get install git`, y para otros sistemas operativos consulta git-scm.com.

¿Git es gratis?

Sí, es gratuito y de código abierto bajo la licencia GPL-2.0.

¿Qué es Git Bash?

Es una aplicación para Microsoft Windows que ofrece utilidades y experiencia de shell basadas en Unix. 

¿Cómo creo una rama nueva en Git?

Usa el comando `git branch <nueva-rama> <rama-base>` en la terminal. Para crear y cambiar a una nueva rama, usa `git checkout -b <nombre_rama>`.

¿Qué hace git pull?

Actualiza la versión local de un repositorio desde un servidor remoto, copia todos los cambios del repositorio remoto y los fusiona con el directorio local. Este proceso a menudo requiere resolver conflictos de fusión. 

¿Cómo hago fork de un repo en Git?

En GitHub, hacer un fork es crear una copia de un repositorio en tu cuenta de GitHub desde otra cuenta. Suele hacerse para contribuir en comunidad o trabajar en equipo. 

¿Cómo renombro una rama en Git?

Para el repositorio local es sencillo: usa `git branch -m <nombre-antiguo> <nombre-nuevo>`. Para renombrar una rama remota, primero elimina la anterior con `git push origin --delete <nombre-antiguo>` y luego sube la nueva `git push -u origin <nombre_nuevo>`.

¿Cómo elimino el repositorio de Git?

Puedes borrar la carpeta local o eliminar la carpeta .git con `rm -fr .git`. En GitHub, ve a la configuración del repositorio y, al final de la página, verás la opción de eliminar.

¿Cómo instalo Git en Windows?

Descarga el instalador de Windows desde el sitio y ejecútalo; instalará Git Bash, Git CDM y Git GUI.

¿Cómo deshago un commit en Git?

Usa `git revert <commit sha>`, que requiere el hash único de un commit anterior. También puedes usar `git revert HEAD~2`, que revierte dos commits antes del HEAD.   

Temas
Relacionado

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

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

Tutorial

Tutorial de Markdown en Jupyter Notebook

En este tutorial, aprenderás a utilizar y escribir con diferentes etiquetas de marcado utilizando Jupyter Notebook.

Olivia Smith

Tutorial

Tutorial de Power BI para principiantes

Aprende los fundamentos de Power BI y a crear un informe básico con este tutorial paso a paso.
DataCamp Team's photo

DataCamp Team

A jupyter lab

Tutorial

Tutorial de introducción a JupyterLab

En este artículo, le presentaremos JupyterLab, uno de los IDE más populares para la ciencia de datos.
Javier Canales Luna's photo

Javier Canales Luna

Tutorial

Tutorial sobre cómo instalar R en Windows, Mac OS X y Ubuntu

Esta es una guía para principiantes diseñada para ahorrarte dolores de cabeza y un tiempo valioso si decides instalar R tú mismo.
Francisco Javier Carrera Arias's photo

Francisco Javier Carrera Arias

Ver MásVer Más