From 7b1856aeffd3118687fb08a20c762430a1f47ccc Mon Sep 17 00:00:00 2001 From: polo-pc-greta Date: Sat, 8 Feb 2025 10:29:34 +0100 Subject: fichier TP GIT 3 --- TP GIT 3 fusion.txt | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 TP GIT 3 fusion.txt diff --git a/TP GIT 3 fusion.txt b/TP GIT 3 fusion.txt new file mode 100644 index 0000000..0a77322 --- /dev/null +++ b/TP GIT 3 fusion.txt @@ -0,0 +1,57 @@ +PARTIE 3 branche et fusion + +"git pull" est en fait la combinaison de deux commandes "fetch" et "merge" + +obtenir les modifications du dépôt distant sans mettre à jour le dépôt local +git fetch + +fusionner ces modifications avec le dépôt local +des conflits peuvent se produire si deux personnes ont touché au même fichier +git merge + +note: lorsqu'on crée une branche on doit dire à git de quelle branche distante elle dérive +doit être fait une fois par nouvelle branche +git push --set-upstream + +note: un git merge réussit équivaut à un commit +on peut aussi merge sans commit (pour changer d'autres truc avant de commit) +git merge --no-commit + + +on va créer des branche et provoquer un conflit pour voir ce qu'il se passe +- add, commit, push un dépôt un fichier avec les paroles d'une chanson +- créer une branche "branche1" +git checkout -b "branche1" +- modifier le ficher, add, commit, et push comme ci-dessous +git push --set-upstream origin branche1 +- revenir à la branche "master" +git checkout master +- créer une branche 2 +git checkout -b "branche2" +- modifier le ficher, add, commit et push +git push --set-upstream origin branche2 +- revenir à la branche "master" +git checkout master +- fusionner la branche 1 dans master (c'est là qu'on est) +git merge branche1 +- fusionner la branche 2 dans master +git merge branche2 + +une erreur apparaît à cause du conflit lors de la fusion de la branche 2 +un conflit dans le fichier en question ne permet pas la fusion automatique +git status montre des commandes possibles +pour résoudre le problème: + +- méthode 1: éditer les fichiers et retenter une fusion +- les fichiers à éditer sont ceux de la branche dans laquelle on fusionne (ici master) +- après un git add, un git status indique si le conflit est résolu +et nous rappelle qu'une fusion est toujours en court +add, commit, push + +- méthode 2: abandonner la fusion +git merge --abort + + +éventuellement, pour supprimer une branche +git branch -d +git branch -D ajoute le paramètre --force -- cgit v1.2.3