Curso Git y GitHub para Desarrolladores
Curso Git y GitHub para Desarrolladores
Front End
Js
CLASE 8
Clase 08 | Git
Temario:
1. Git y GitHub
○ ¿Qué es Git?
○ ¿Qué es GitHub?
○ Instalación y Configuración de Git
○ Conceptos Clave en Git
■ Repositorio
■ Branch
■ Commit
■ Merge
○ Comandos Básicos de Git
■ git init
■ git add
■ git commit
■ git push
○ Crear ramas y trabajar con ellas
■ Crear una nueva rama
■ Hacer cambios y commits en la rama
■ Subir la rama a GitHub
■ Hacer merge de la rama con la principal
■ Resolver conflictos de merge
■ Eliminar ramas que ya no son necesarias
○ Flujo de Trabajo con Git y GitHub
■ Crear un Repositorio en GitHub
■ Vincular Repositorio Local con GitHub
■ Sincronización entre Repositorios
2. Ejercicios Prácticos
1. Git y GitHub
¿Qué es Git?
¿Qué es GitHub?
GitHub es, de alguna forma, “el hermano” de Git, pero con una
diferencia: opera en la nube. Es una plataforma donde podés subir
tu código y compartirlo con otras personas desarrolladoras o con el
mundo. En este espacio virtual podés colaborar en proyectos, subir
cambios y ver el progreso que va teniendo tu proyecto a lo largo del
tiempo.
Configuración
Lo primero que necesitás después de instalar Git es configurarlo. Esto lo hacés desde la
terminal o consola. ¡Veamos cómo!
Esto le dice a Git cuál es tu nombre y tu email para que puedas hacer commits (que son
como "guardados" o "versiones").
Conceptos Clave en Git
git init
git add: Este comando selecciona los archivos que querés "guardar". Podés agregar
archivos específicos o todo de una, con:
git add .
git commit: Crea un "snapshot" de los archivos agregados y guarda un mensaje descriptivo
de los cambios.
git push: Sube los commits de tu repositorio local a uno remoto en GitHub.
En Git, trabajar con ramas es esencial para mantener un flujo de trabajo organizado,
especialmente cuando trabajás en equipo o desarrollás diferentes funcionalidades
(features) de un proyecto. Las ramas te permiten experimentar con nuevos cambios
o corregir errores sin afectar la rama principal (main o master).
Una rama (branch) es una línea paralela de desarrollo que te permite trabajar en
nuevas funcionalidades, arreglos o pruebas sin modificar la rama principal. Al final,
podés fusionar (merge) los cambios de tu rama con la rama principal si todo
funciona correctamente.
Por ejemplo, supongamos que recibís un bug en tu proyecto o querés agregar una
nueva funcionalidad. Lo mejor es crear una nueva rama para trabajar en esos
cambios, mientras la rama principal sigue funcionando correctamente para otros
usuarios o miembros del equipo.
Ejemplo: Crear y trabajar con ramas
Crear una Nueva Rama: Cuando empezás a trabajar en una nueva funcionalidad o
en la corrección de un error, lo primero que hacés es crear una nueva rama. Esto te
permite aislar tus cambios y no afectar la rama principal hasta que estés seguro de
que todo funciona correctamente.
Comando para crear una nueva rama:
git checkout -b crea una nueva rama y cambia automáticamente a esa rama.
Ejemplo:
git checkout -b feature-agregar-formulario-contacto
Hacer Cambios en la Nueva Rama: Podés realizar todos los cambios necesarios
en esta rama sin afectar el resto del proyecto. Modifica el código, agregá archivos, y
asegurate de hacer commits regularmente para registrar tus cambios.
Ejemplo:
git add .
Subir la Rama al Repositorio Remoto (GitHub): Una vez que estás listo para
compartir tu rama o realizar una revisión del código, podés subirla a GitHub.
Comando:
git push origin nombre-de-la-rama
Ejemplo:
git push origin feature-agregar-formulario-contacto
Luego, podés fusionar tu rama con la rama principal usando el comando git
merge:
Comando para hacer merge:
git merge nombre-de-la-rama
Ejemplo:
git merge feature-agregar-formulario-contacto
Ejemplo:
git branch -d feature-agregar-formulario-contacto
Resolver Conflictos: Si durante el merge Git detecta que hay conflictos entre
tu rama y la principal, tendrás que resolverlos manualmente. Git te mostrará
en el archivo afectado dónde están los conflictos, y tendrás que decidir qué
cambios conservar.
Inicio de una nueva tarea: Crear una nueva rama para trabajar en una nueva
funcionalidad o bug.
git checkout -b feature-nueva-funcionalidad
Finalización: Fusionás los cambios con la rama principal una vez que la
funcionalidad está lista:
git checkout main
Este flujo de trabajo con ramas es útil para organizar los cambios, realizar revisiones
y mantener un entorno de desarrollo estable.
Flujo de trabajo con Git y GitHub.
Vincular repositorio local con GitHub: Abrí tu terminal y escribí este comando para
vincular tu repositorio local con el que creaste en GitHub:
Subir cambios a GitHub: Después de hacer algunos cambios y hacer commits, podés
subirlos a GitHub con el comando:
Los conflictos en Git surgen cuando dos personas (o vos en dos ramas diferentes)
modifican las mismas líneas de código. Git no sabe cuál de las dos versiones debe
mantener, así que te pide que lo resuelvas manualmente.
Identificar el conflicto:
Después de intentar hacer un merge, si hay un conflicto, Git te lo va a avisar. Podés ver los
archivos en conflicto ejecutando:
git status
<<<<<<< HEAD
=======
>>>>>> nombre-de-la-rama
Todo lo que está entre <<<<<<< HEAD y ======= es tu código. Lo que está entre
======= y >>>>>>> nombre-de-la-rama es el código de la otra rama.
Resolver el conflicto:
Tenés que elegir qué código querés mantener. Podés optar por una de las versiones o hacer
una mezcla de ambas. Una vez que decidas, eliminás las marcas (<<<<<<<, =======,
>>>>>>>) y dejás el código como corresponde.
Hacer un commit:
Luego de agregar el archivo, hacés un commit que indique que resolviste el conflicto:
Aunque podés trabajar con Git desde la terminal, existen herramientas que te harán
muchísimo más sencillas tus tareas, como GitHub Desktop y Visual Studio Code.
GitHub Desktop es una aplicación con interfaz gráfica que te permite gestionar tus
repositorios de Git sin necesidad de usar la terminal. Es ideal para quienes están
empezando con Git o prefieren una experiencia más visual. Recordá que usar GitHub
Desktop es opcional, y muchas personas no lo utilizan, prefiriendo directamente utilizar la
consola y las líneas de comando para trabajar
Ventajas:
¿Cómo usarlo?:
Visual Studio Code es un editor de código que tiene integración nativa con Git. Te permite
ver los cambios, hacer commits y resolver conflictos directamente desde la interfaz del
editor.
Ventajas:
Con esto, cerramos el tema de Git y GitHub, que es esencial para gestionar proyectos y
trabajar en equipo de manera eficiente. Recordá que usar Git bien desde el principio te
ahorra dolores de cabeza en el futuro, ¡así que a practicar!
Tips:
Crear un repositorio en GitHub para tu proyecto, subir el código actual y realizar commits
documentando los cambios. Asegurarse de que el repositorio esté configurado para futuras
actualizaciones. A continuación te mostramos cómo nombrar el repositorio.
Nombre del repositorio: proyecto-final-ecommerce-[nombre-apellido]
Tips: