Git fusionne deux branches locales

147

J'ai la branche Master, la branche A et la branche B.Maintenant, je travaille dans la branche A et je dois fusionner la branche A avec la branche B et poursuivre mon travail dans la branche A. Tous les fichiers sont déposés dans les branches A et B.

Quel est le moyen le plus rapide de le mettre en œuvre?

user3127896
la source

Réponses:

247

Si j'ai bien compris votre question, vous voulez vous fondre branchBdans branchA. Pour ce faire, commencez par payer branchAcomme ci-dessous,

git checkout branchA

Ensuite, exécutez la commande ci-dessous pour fusionner branchBdans branchA:

git merge branchB
Abimaran Kugathasan
la source
3
Nous devons nous assurer que les branches A et B existent sur le référentiel local. Ce n'est qu'alors que nous pouvons effectuer une fusion.
Santhosh
8
La question est explicite:I have branch Master, branch A and branch B.
LeeGee
166

Voici une image claire:

En supposant que nous ayons la branche A et la branche B

Nous voulons fusionner la branche B dans la branche A

on branch-B -> A: switch to branch-A

on branch-A: git merge branch-B
Mahmoud Zalt
la source
32
ce n'est pas du tout plus clair, il suffit de poster l'entrée du terminal, c'est beaucoup plus facile à comprendre
lopu
9
Ce n'est pas une réponse assez claire ... qu'est-ce que cela signifie "mettre à jour la branche-B" ... il y a plusieurs façons de faire cela, laquelle? ... au lieu de basculer git checkout branch-A est plus compréhensible
Erdinç Çorbacı
2

La réponse des Abiraman était absolument correcte. Cependant, pour les débutants, ils risquent d'oublier d'extraire le référentiel. Chaque fois que vous souhaitez effectuer une fusion de branchB dans branchA. Commencez par effectuer votre commande et prenez pull de branchB (assurez-vous que votre branche est mise à jour avec la branche distante)

git checkout branchB
git pull

Maintenant, votre succursale localeB est mise à jour avec la succursale distanteB Vous pouvez maintenant passer à la succursaleA

git checkout branchA

Maintenant que vous êtes dans branchA, vous pouvez fusionner avec branchB en utilisant la commande suivante

git merge branchB

la source
0

Si vous ou un autre développeur ne travaillez pas davantage sur branchB, je pense qu'il est préférable de garder les commits afin de faire des retours sans maux de tête. Alors ;

git checkout branchA
git pull --rebase branchB

Il est important que branchB ne soit plus utilisé.

Pour plus ; https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/

Erdinç Çorbacı
la source
1
Dans son titre, la question concerne les référentiels locaux - pour lesquels pullne fonctionnera pas.
LeeGee
2
Vous avez raison, je pensais juste que l'ajout de ces connaissances serait un plus car probablement la branche locale sera poussée à la fin. Mais j'ai manqué le point que vous avez indiqué, je ferais mieux d'ajouter cela comme un commentaire et non comme une réponse. Merci de m'avoir prévenu.
Erdinç Çorbacı
0

sur branchB faire $git checkout branchApour passer à la branche A

sur branchA do $git merge branchB

C'est tout ce dont vous avez besoin.

Dapo Momodu
la source