<div class="page"> <div class="cover text-center"> <img class="mx-auto" src=/itb/images/logo_mislata.png alt="logo"> # Reset i Amend <div class="text-end fit-content ms-auto my-3 mt-auto pt-3"> <p><strong>Autor:</strong> Joan Puigcerver Ibáñez</p> <p><strong>Correu electrònic:</strong> j.puigcerveribanez@edu.gva.es</p> <p><strong>Curs:</strong> 2024/2025</p> </div> <div> <p class="fw-bold mb-0">Llicència: BY-NC-SA</p> <p class="d-none d-md-block">(Reconeixement - No Comercial - Compartir Igual)</p> <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.ca" target="_blank"> <img class="mx-auto" src="/itb/images/license.png" alt="Licence"/> </a> </div><!--license--> </div><!--cover--> </div><!--page--> {:toc} ## Objectius L'objectiu d'aquest exercici és entendre el funcionament de l'eina `git reset` i posar-la en pràctica. ## Estat inicial Realitza el exercici a partir del següent repositori: ::: tip Podeu copiar i pegar les ordres següents a __Git Bash__. ::: ```bash mkdir ~/git_reset_exercise cd ~/git_reset_exercise git init touch README.md git add README.md git commit -m "Initial commit" git branch -m main echo "# Exercici Git Reset" >> README.md git add README.md git commit -m "README: Added titol" git branch primer git branch segon git branch tercer git checkout primer echo "- Primer canvi" >> README.md git commit -a -m "Primer canvi" git checkout segon echo "- Segon canvi" >> README.md git commit -a -m "Segon canvi" git checkout tercer echo "- Tercer canvi" >> README.md git commit -a -m "Tercer canvi" git checkout segon git merge primer # Elimine les línies que indiquen els conflictes en Git sed -i '/^<<<<<<<.*$/d; /^=======/d; /^>>>>>>>.*$/d' README.md git commit -a -m "Merge primer i segon" git checkout tercer git merge segon sed -i '/^<<<<<<<.*$/d; /^=======/d; /^>>>>>>>.*$/d' README.md git commit -a -m "Merge segon i tercer" git checkout main git merge tercer ``` L'estat inicial del repositori és: ```shell jpuigcerver@fp:~/git_reset_exercise (main) $ git lga * bcbdfa6 - (1 second ago) Merge segon i tercer - Joan Puigcerver (HEAD -> main, tercer) |\ | * c26223a - (1 second ago) Merge primer i segon - Joan Puigcerver (segon) | |\ | | * cbf7c67 - (1 second ago) Primer canvi - Joan Puigcerver (primer) | * | 58ce8da - (1 second ago) Segon canvi - Joan Puigcerver | |/ * / 9695ea7 - (1 second ago) Tercer canvi - Joan Puigcerver |/ * fc82863 - (1 second ago) README: Added titol - Joan Puigcerver * cfaf3d4 - (1 second ago) Initial commit - Joan Puigcerver ``` ## Reset Realitza les operacions `reset` necessàries per modificar la història del repositori a l'estat anterior a realitzar els `merge`. ```shell jpuigcerver@fp:~/git_reset_exercise (main) $ git lga * cbf7c67 - (3 minutes ago) Primer canvi - Joan Puigcerver (primer) | * 58ce8da - (3 minutes ago) Segon canvi - Joan Puigcerver (segon) |/ | * 9695ea7 - (3 minutes ago) Tercer canvi - Joan Puigcerver (tercer) |/ * fc82863 - (3 minutes ago) README: Added titol - Joan Puigcerver (HEAD -> main) * cfaf3d4 - (3 minutes ago) Initial commit - Joan Puigcerver ``` ## Amend A partir de l'estat del repositori de l'exercici anterior: ```shell jpuigcerver@fp:~/git_reset_exercise (main) $ git lga * cbf7c67 - (3 minutes ago) Primer canvi - Joan Puigcerver (primer) | * 58ce8da - (3 minutes ago) Segon canvi - Joan Puigcerver (segon) |/ | * 9695ea7 - (3 minutes ago) Tercer canvi - Joan Puigcerver (tercer) |/ * fc82863 - (3 minutes ago) README: Added titol - Joan Puigcerver (HEAD -> main) * cfaf3d4 - (3 minutes ago) Initial commit - Joan Puigcerver ``` 1. Modifica el _commit_ __Primer canvi__ perquè els canvis següents: ```diff diff --git a/README.md b/README.md index c1c4b86..f22a3c6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ # Exercici Git Reset +- pRIMER cANVI ``` 1. Modifica el _commit_ __Primer canvi__ per canviar-li el missatge del _commit_ a __pRIMER cANVI__. 1. Modifica el _commit_ __pRIMER cANVI__ per afegir un nou fitxer buit (amb qualsevol nom). 1. Modifica el _commit_ __pRIMER cANVI__ per eliminar el fitxer afegit anteriorment.