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 les fichiers en conflits ont été modifiés pour faire apparaître les conflits - le code concerné est entouré de chevrons < > - éditer le fichier et retirer les marqueurs de conflits < > et = <<<<<<< HEAD (code de la branche cible) ======= (code dans la branche à fusionner) >>>>>>> branche faire git add puis git status pour savoir si le conflit est réglé éventuellement, pour supprimer une branche git branch -d git branch -D ajoute le paramètre --force