web-dev-qa-db-fra.com

Git fusionner une branche dans une autre est une fusion bidirectionnelle?

Mon dépôt git ressemble à ceci:

         _ branch_a
        /
master /
        \_ branch_b

Maintenant, je veux fusionner branch_b dans branch_a, pas soit branche dans master.

Alors j'ai fait

git checkout branch_a
git merge branch_b

Et Git est allé et a trouvé un couple de conflits.

Quand je fais git mergetool en utilisant meld ce que je reçois sur la console est

 {local}: modified file
 {remote}: modified file

et une fenêtre ne montrant que LOCAL et REMOTE.

Ce que je veux savoir, c'est:

  1. Pourquoi la base partagée de ce qui était dans master n'est-elle pas montrée?

  2. Entre LOCAL et REMOTE, lequel dois-je éditer?

35
EMiller

Si vous fusionnez une branche A dans une branche B, les conflits que vous obtenez proviennent de la différence entre les deux branches et non de la différence avec maître. exécuter git diff en A ou B vous donnera cependant le diff avec master puisque c’est l’ancêtre

Normalement, la branche locale doit être celle que vous utilisez fusion et la distante celle que vous souhaitez fusionner. Quoi qu’il en soit, sur votre ordinateur, vous n’avez qu’une copie du fichier, il suffit de le modifier.

11
iberbeu