Crear un repositorio y hacer commits
Vamos a ver un ejemplo práctico de cómo crear un repositorio GIT, añadir archivos, hacer commits y ver el historial de cambios.
- Crear un nuevo proyecto:
- Crea una carpeta para tu proyecto, por ejemplo, mi-proyecto. Abre una terminal o línea de comandos y navega hasta esa carpeta:mkdir mi-proyecto cd mi-proyecto
- Inicializar el repositorio:
- Utiliza el comando
git initpara convertir la carpeta en un repositorio GIT:git initDeberías ver un mensaje indicando que se ha creado un repositorio GIT vacío en la carpeta.git.
- Utiliza el comando
- Crear archivos:
- Crea algunos archivos en tu proyecto. Por ejemplo:echo “Hola, mundo!” > index.html echo “Este es mi primer proyecto con GIT” > README.md
- Añadir archivos al Staging Area:
- Utiliza
git addpara añadir los archivos que quieres incluir en tu primer commit:git add index.html README.md
- Utiliza
- Hacer el primer commit:
- Utiliza git commit para crear el commit con un mensaje descriptivo:git commit -m “Commit inicial: se agregan archivos básicos”
- Hacer más cambios y commits:
- Modifica los archivos existentes o crea nuevos archivos.
- Añade los cambios al Staging Area con
git add. - Crea nuevos commits con
git commit -m "Mensaje descriptivo". - Ejemplo de cambios y commits adicionales:echo “<h1>Bienvenido a mi proyecto</h1>” >> index.html git add index.html git commit -m “Agrega título a index.html” touch estilo.css git add estilo.css git commit -m “Agrega archivo de estilos”
- Ver el historial de commits:
- Utiliza
git logpara ver la lista de commits que has creado:git log - Deberías ver algo similar a esto:commit 6e5c4f3a2b1c3d4e5f6g7h8 (HEAD -> main) Author: Tu Nombre <[email protected]> Date: Sun Sep 3 18:47:00 2023 -0500 Agrega archivo de estilos commit 9d8e7f2c1b0a2c3d4e5f6g7 Author: Tu Nombre <[email protected]> Date: Sun Sep 3 18:45:00 2023 -0500 Agrega título a index.html commit 1a2b3c4d5e6f7g8h9i0j1 Author: Tu Nombre <[email protected]> Date: Sun Sep 3 18:40:00 2023 -0500 Commit inicial: se agregan archivos básicos
- Utiliza
Trabajar con ramas y fusionarlas
Veamos un ejemplo práctico de cómo crear ramas, realizar cambios en ellas y fusionarlas de vuelta a la rama principal, ilustrando un flujo de trabajo común en GIT.
- Crear una nueva rama:Supongamos que estás en la rama master o main y quieres añadir una nueva característica a tu proyecto. Crea una nueva rama llamada nueva-caracteristica:git checkout -b nueva-caracteristicaEste comando crea la rama y te cambia automáticamente a ella.
- Realizar cambios en la nueva rama:Modifica los archivos necesarios para implementar la nueva característica. Añade los cambios al Staging Area con
git add. Haz commits para guardar tus avances:# Modificar archivos… git add . git commit -m “Agrega estructura básica de la nueva característica” # Modificar más archivos… git add . git commit -m “Implementa lógica principal de la nueva característica” - Cambiar a la rama principal:Una vez que hayas terminado de implementar la nueva característica, vuelve a la rama principal:git checkout main
- Fusionar los cambios:Utiliza
git mergepara integrar los cambios de la ramanueva-caracteristicaen la rama main:git merge nueva-caracteristicaSi no hay conflictos, GIT realizará un “fast-forward merge” y moverá el puntero de la rama main para que apunte a los nuevos commits de la ramanueva-caracteristica. - Eliminar la rama (opcional):Si ya no necesitas la rama nueva-caracteristica, puedes eliminarla:git branch -d nueva-caracteristica
Visualización del proceso:
main o---o---o
\
nueva-caracteristica o---o---o
Después del merge:
main o---o---o---o---o
Resolver conflictos de fusión
Los conflictos de fusión ocurren cuando GIT no puede combinar automáticamente los cambios de dos ramas porque ambas han modificado las mismas líneas de código de manera diferente. Resolver estos conflictos es esencial para integrar los cambios de manera exitosa. Veamos un ejemplo de cómo hacerlo.
Escenario:
- Tienes una rama master o main y una rama nueva-caracteristica.
- Ambos tú y otro desarrollador han modificado el mismo archivo (index.html) en ambas ramas.
- Intentar fusionar nueva-caracteristica en master o main resulta en un conflicto.
Pasos para resolver el conflicto:
- Identificar el conflicto:Al intentar fusionar, GIT te mostrará un mensaje de error indicando que hay conflictos. El comando
git statustambién te mostrará los archivos en conflicto:git merge nueva-caracteristica # Salida (hipotética): CONFLICT (content): Merge conflict in index.html Automatic merge failed; fix conflicts and then commit the result. - Inspeccionar el archivo en conflicto:Abre el archivo
index.htmlen un editor de texto. Verás marcas especiales que indican las áreas de conflicto:<<<<<<< HEADBienvenido a mi sitio web
=======¡Hola mundo!
>>>>>>> nueva-caracteristica<<<<<<< HEAD: Indica el inicio de los cambios en tu rama actual (master o main).=======: Separa los cambios de ambas ramas.>>>>>>> nueva-caracteristica: Indica el final de los cambios en la rama que estás fusionando.
- Resolver el conflicto:
- Decide qué versión del código deseas conservar o combínalas de manera adecuada.
- Elimina las marcas de conflicto y modifica el código según tu elección. Por ejemplo:<h1>Bienvenido a mi nuevo sitio web</h1>
- Marcar el conflicto como resuelto:
- Añade el archivo modificado al Staging Area:git add index.html
- Completar la fusión:
- Crea un commit para finalizar la fusión:git commit -m “Resuelve conflicto de fusión en index.html”
Consejos:
- Utiliza un editor de texto o una herramienta de merge visual para facilitar la identificación y resolución de conflictos.
- Comunícate con tus compañeros de equipo si tienes dudas sobre cómo resolver un conflicto.
- Realiza pruebas exhaustivas después de resolver conflictos para asegurarte de que el código funciona como se espera.
Colaborar en un proyecto con otros desarrolladores
La colaboración es uno de los pilares de GIT, y te permite trabajar en equipo de manera eficiente y sincronizada. Veamos un ejemplo práctico de cómo colaborar en un proyecto utilizando un repositorio remoto en una plataforma como GitHub.
Escenario:
- Existe un repositorio en GitHub llamado
proyecto-colaborativo. - Tú y otros desarrolladores quieren contribuir al proyecto.
Pasos para colaborar:
- Clonar el repositorio:
- Cada desarrollador debe clonar el repositorio a su máquina local:git clone https://github.com/usuario/proyecto-colaborativo.git
- Crear una rama para tu trabajo:
- Crea una nueva rama para trabajar en tu funcionalidad o corrección de errores:git checkout -b mi-funcionalidad
- Realizar cambios y hacer commits:
- Trabaja en tu rama, modifica archivos, añade los cambios al Staging Area y haz commits:# Modificar archivos… git add . git commit -m “Implementa parte de mi funcionalidad” # Modificar más archivos… git add . git commit -m “Completa la implementación de mi funcionalidad”
- Enviar tu rama al repositorio remoto:
- Utiliza
git pushpara enviar tu rama al repositorio remoto:git push origin mi-funcionalidad
- Utiliza
- Abrir un Pull Request:
- En GitHub, abre un Pull Request desde tu rama
mi-funcionalidadhacia la rama main (o la rama principal del proyecto). - Describe los cambios que has realizado y solicita que otros desarrolladores revisen tu código.
- En GitHub, abre un Pull Request desde tu rama
- Revisión de código y discusión:
- Otros desarrolladores revisarán tu código, harán comentarios y sugerencias.
- Discute los cambios y realiza las modificaciones necesarias en tu rama.
- Envía nuevos commits a tu rama para abordar los comentarios.
- Aprobación y fusión:
- Una vez que los revisores están satisfechos, aprueban el Pull Request.
- El propietario del repositorio o un colaborador con permisos puede fusionar tu rama en la rama principal.
- Actualizar tu repositorio local:
- Después de que tu rama se haya fusionado, actualiza tu repositorio local para incluir los cambios:git checkout main git pull




