4 Gestión de ramas
Para hacer estos ejercicios es necesario haber hecho antes los ejercicios sobre el historial de cambios, o bien hacer un clon del repositorio remoto https://github.com/asalber/libro-git mediante la siguiente secuencia de comandos:
> git clone https://github.com/asalber/libro-git.git
> cd libro-git
> git reset --hard 48ed8
> git remote remove originEjercicio 4.1 Crear una nueva rama bibliografia y mostrar las ramas del repositorio.
> git branch bibliografia
> git branch -av
Ejercicio 4.2
Crear el fichero
capitulos/capitulo4.txty añadir el texto siguiente:En este capítulo veremos cómo usar GitHub para alojar repositorios en remoto.
Añadir los cambios a la zona de intercambio temporal.
Hacer un commit con el mensaje
Añadido capítulo 4.Mostrar la historia del repositorio incluyendo todas las ramas.
> cat > capitulos/capitulo4.txt
En este capítulo veremos cómo usar GitHub para alojar repositorios en remoto.
Ctrl+D
> git add .
> git commit -m "Añadido capítulo 4."
> git log --graph --all --oneline
Ejercicio 4.3
Cambiar a la rama
bibliografia.Crear el fichero
bibliografia.txty añadir la siguiente referencia:- Chacon, S. and Straub, B. Pro Git. Apress.
Añadir los cambios a la zona de intercambio temporal.
Hacer un commit con el mensaje
Añadida primera referencia bibliográfica.Mostrar la historia del repositorio incluyendo todas las ramas.
> git checkout bibliografia
> cat > bibliografia.txt
- Chacon, S. and Straub, B. Pro Git. Apress.
Ctrl+D
> git add .
> git commit -m "Añadida primera referencia bibliográfica."
> git log --graph --all --oneline
Ejercicio 4.4
- Fusionar la rama
bibliografiacon la ramamaster. - Mostrar la historia del repositorio incluyendo todas las ramas.
- Eliminar la rama
bibliografia. - Mostrar de nuevo la historia del repositorio incluyendo todas las ramas.
> git checkout master
> git merge bibliografia
> git log --graph --all --oneline
> git branch -d bibliografia
> git log --graph --all --oneline
Ejercicio 4.5
Crear la rama
bibliografia.Cambiar a la rama
bibliografia.Cambiar el fichero
bibliografia.txtpara que contenga las siguientes referencias:- Scott Chacon and Ben Straub. Pro Git. Apress.
- Ryan Hodson. Ry’s Git Tutorial. Smashwords (2014)
Añadir los cambios a la zona de intercambio temporal y hacer un commit con el mensaje
Añadida nueva referencia bibliográfica.Cambiar a la rama
master.Cambiar el fichero
bibliografia.txtpara que contenga las siguientes referencias:- Chacon, S. and Straub, B. Pro Git. Apress.
- Loeliger, J. and McCullough, M. Version control with Git. O’Reilly.
Añadir los cambios a la zona de intercambio temporal y hacer un commit con el mensaje
Añadida nueva referencia bibliográfica.Fusionar la rama
bibliografiacon la ramamaster.Resolver el conflicto dejando el fichero
bibliografia.txtcon las referencias:- Chacon, S. and Straub, B. Pro Git. Apress.
- Loeliger, J. and McCullough, M. Version control with Git. O’Reilly.
- Hodson, R. Ry’s Git Tutorial. Smashwords (2014)
Añadir los cambios a la zona de intercambio temporal y hacer un commit con el mensaje
Resuelto conflicto de bibliografía.Mostrar la historia del repositorio incluyendo todas las ramas.
> git branch bibliografia
> git checkout bibliografia
> cat > bibliografia.txt
- Scott Chacon and Ben Straub. Pro Git. Apress.
- Ryan Hodson. Ry's Git Tutorial. Smashwords (2014)
Ctrl+D
> git commit -a -m "Añadida nueva referencia bibliográfica."
> git checkout master
> cat > bibliografia.txt
- Chacon, S. and Straub, B. Pro Git. Apress.
- Loeliger, J. and McCullough, M. Version control with Git. O'Reilly.
Ctrl+D
> git commit -a -m "Añadida nueva referencia bibliográfica."
> git merge bibliografia
> nano bibliografia.txt
# Editar el fichero para dejar las referencias indicadas y eliminar las marcas de conflicto.
> git commit -a -m "Resuelto conflicto de bibliografía."
> git log --graph --all --oneline