Information

Author(s) Mathieu Jadin
Deadline Geen deadline
Submission limit No limitation

Sign in

Git: Fusionner des branches

Dans l'exercice précédent, vous avez vu comment créer et travailler sur des branches différentes.

Bien sûr, l'intérêt est de fusionner les modifications faites sur une branche dans la branche principale une fois que vous avez testé.

https://inginious.org/course/git/git-branch-merge/git-before-merge.svg

La branche de profile est prête pour être fusionnée à la branche master. Pour ce faire, il faut se placer sur la branche master (avec checkout) et utiliser la commande git merge. La fusion de deux branches fonctionne de manière identique à un pull de l'historique distant. S'il n'y a pas de modifs sur master (comme ici), le pointeur de la branche ne fait que se déplacer. S'il y a des modifs compatibles sur master, un commit de fusion est créé automatiquement. Si les modifs ne sont pas compatibles, il faudra résoudre le conflit exactement comme dans l'exercice sur la résolution de conflits.

https://inginious.org/course/git/git-branch-merge/git-after-merge.svg

Puis comme d'habitude, il faut push l'historique local de la branche master sur l'historique distant.

https://inginious.org/course/git/git-branch-merge/git-after-push.svg

Il faut utiliser git merge <src-branch-name> sur la branche de destination.


Téléchargez l'archive qui contient déjà un repository cloné dans le sous-dossier clone. Votre repository est dans l'état décrit par la première image de l'énoncé. Arrangez-vous pour le faire passer dans l'état décrit par la dernière image.

Une fois que c'est fait, ré-archivez le dossier complet et uploadez-le.

Le message du commit de fusion devra être "MERGE".

Notez que le repository "distant" dans cet exercice n'est pas sur github ou dans bitbucket mais dans le dossier bare.git de l'archive.

git-branch-merge/
├── bare.git/
|   └── [...]
└── clone/
    └── [...]

Max file size: 1.0 MiB
Allowed extensions: .zip