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?

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

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

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

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/


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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.