Control de versiones con Git y GitHub

Guía paso a paso para la colaboración en el código y el control de versiones

Aprende a gestionar tu código con Git y a colaborar sin problemas utilizando GitHub. Este tutorial ampliado proporciona un flujo de trabajo detallado, paso a paso, que cubre los comandos esenciales de Git, estrategias de ramificación, resolución de conflictos de fusión y funciones avanzadas como las Acciones de GitHub para la integración continua.

Programación
Autor/a
Afiliación
Fecha de publicación

14 de febrero de 2024

Fecha de modificación

9 de mayo de 2025

Palabras clave

Tutorial de Git, control de versiones para programadores, Guía de GitHub, Colaboración en código, Git avanzado

Introducción

El control de versiones es esencial para cualquier desarrollador o científico de datos. Tanto si trabajas solo como en equipo, el uso de Git junto con GitHub te permite realizar un seguimiento de los cambios, mantener un historial de tu trabajo y colaborar de manera eficiente. En este tutorial, te guiaremos a través de un flujo de trabajo completo de Git, desde los conceptos básicos hasta las funciones avanzadas, para que puedas gestionar tus proyectos con confianza.



Qué es Git y GitHub?

Git es un sistema de control de versiones distribuido que te permite registrar instantáneas de tu proyecto a lo largo del tiempo. Te permite experimentar con nuevas características en ramas aisladas, y luego fusionar esos cambios de nuevo en tu proyecto principal sin problemas.

GitHub es una plataforma web basada en Git, que ofrece alojamiento remoto de repositorios, herramientas de colaboración, seguimiento de incidencias y mucho más. Hace que compartir y gestionar tu código sea más fácil, especialmente cuando se trabaja en equipo.

Flujo de trabajo Git paso a paso

Siga estos pasos para empezar con Git y GitHub:

Paso 1: Inicializar tu repositorio

Comienza navegando al directorio de tu proyecto en el terminal e inicializando Git:

git init

Paso 2: Añadir archivos y confirmar

Etapa todos los archivos del proyecto y crear su primera confirmación con un mensaje descriptivo:

git add .
git commit -m "Initial commit: set up project structure"

Paso 3: Configurar un repositorio remoto en GitHub

Crea un nuevo repositorio en GitHub y, a continuación, vincula tu repositorio local a él:

git remote add origin https://github.com/your-username/your-repo.git
git push -u origin master

Paso 4: Crear una nueva rama para el desarrollo de características

Para cualquier nueva característica o corrección de errores, crea una nueva rama para aislar tus cambios:

git checkout -b new-feature

Paso 5: Desarrollar, probar y confirmar los cambios

Realice los cambios en el código y, a continuación, añádalos y confírmelos de forma incremental:

git add .
git commit -m "Add new feature: [brief description]"

Paso 6: Combinar los cambios

Una vez que tu característica esté completa y probada, vuelve a la rama principal y fusiona tus cambios:

git checkout master
git merge new-feature

Paso 7: Enviar cambios a GitHub

Después de la fusión, empuje su rama maestra actualizada a GitHub:

git push origin master

Paso 8: Manejo de conflictos de fusión

Si se producen conflictos durante la fusión, resuélvelos manualmente en tu editor de código. Después de resolver, añadir los archivos actualizados y completar la fusión:

git add .
git commit -m "Resolve merge conflicts"
git push origin master

Paso avanzado: Uso de acciones de GitHub para CI/CD

Configura las acciones de GitHub para ejecutar automáticamente las pruebas y desplegar tu proyecto. Crear un archivo de flujo de trabajo en .github/workflows/ci.yml:

name: CI

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set up R
        uses: r-lib/actions/setup-r@v2
      - name: Install dependencies
        run: Rscript -e 'install.packages("devtools")'
      - name: Run tests
        run: Rscript -e 'devtools::test()'

Buenas prácticas para Git y GitHub

  • Comprométete a menudo: Mantén los commits pequeños y centrados. Escribir mensajes de confirmación claros.
  • Utiliza ramas: Desarrolla nuevas características o correcciones en ramas separadas para mantener estable la rama principal.
  • Revisión y fusión: Utiliza pull requests para la revisión de código y la fusión colaborativa.
  • Utiliza .gitignore: Excluye archivos temporales o innecesarios del control de versiones.
  • Adopte técnicas avanzadas: Conozca git rebase, git stash y los ganchos de Git para agilizar aún más su flujo de trabajo.

Conclusión

Dominar Git y GitHub es crucial para una gestión eficiente del código y la colaboración. Siguiendo esta guía paso a paso y adoptando las mejores prácticas, podrás mantener una base de código limpia y organizada y colaborar eficazmente con tu equipo.

Lecturas adicionales

Feliz codificación, y mantener sus proyectos bajo control de versiones para una experiencia de desarrollo más ágil!

Explorar más artículos

Nota

Aquí hay más artículos de la misma categoría para ayudarte a profundizar en el tema.

Volver arriba

Reutilización

Cómo citar

BibTeX
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Control de versiones con Git y GitHub},
  date = {2024-02-14},
  url = {https://www.datanovia.com/es/learn/programming/tools-and-ides/version-control-with-git-and-github.html},
  langid = {es}
}
Por favor, cita este trabajo como:
Kassambara, Alboukadel. 2024. “Control de versiones con Git y GitHub.” February 14, 2024. https://www.datanovia.com/es/learn/programming/tools-and-ides/version-control-with-git-and-github.html.