Git mescla duas ramificações locais

145

Tenho ramificação Mestre, ramificação A e ramificação B. Agora, estou trabalhando na ramificação A e preciso mesclar a ramificação A com a ramificação B e continuar meu trabalho na ramificação A. Todos os arquivos são confirmados nas ramificações A e B.

Qual é a maneira mais rápida de implementá-lo?

user3127896
fonte

Respostas:

246

Se entendi sua pergunta, você quer fundir branchBem branchA. Para fazer isso, primeiro checkout branchAcomo abaixo,

git checkout branchA

Em seguida, execute o comando abaixo para fundir branchBem branchA:

git merge branchB
Abimaran Kugathasan
fonte
3
Precisamos garantir que os ramos A e B existam no repositório local. Somente então podemos realizar a mesclagem.
Santhosh
8
A pergunta é explícita:I have branch Master, branch A and branch B.
LeeGee
166

Aqui está uma imagem clara:

Supondo que temos ramo A e ramo B

Queremos mesclar o ramo B no ramo A

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

on branch-A: git merge branch-B
Mahmoud Zalt
fonte
32
isso não é mais clara em tudo, basta postar a entrada do terminal é muito mais fácil de entender
lopu
9
Esta resposta não é clara o suficiente .... o que significa "atualizar o ramo B" ... existem muitas maneiras de fazer isso, qual? ... em vez do interruptor git checkout branch-A é mais compreensível
Erdinç corbacI
2

A resposta do Abiraman estava absolutamente correta. No entanto, para iniciantes, eles podem esquecer de puxar o repositório. Sempre que você desejar fazer uma mesclagem de branchB em branchA. Primeiro faça o checkout e faça o pull do branchB (verifique se o seu branch está atualizado com o branch remoto)

git checkout branchB
git pull

Agora sua filial localB é atualizada com a filial remotaB Agora você pode fazer o checkout para a filialA

git checkout branchA

Agora você está no branchA, então pode mesclar com o branchB usando o seguinte comando

git merge branchB

fonte
0

Se você ou outro desenvolvedor não trabalhar mais no branchB, acho melhor manter confirmações para fazer reverências sem dores de cabeça. Assim ;

git checkout branchA
git pull --rebase branchB

É importante que o branchB não seja mais usado.

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

Erdinç Çorbacı
fonte
1
Em seu título, a pergunta se refere a repositórios locais - para os quais pullnão funcionará.
precisa saber é o seguinte
2
Você está certo, eu apenas pensei que adicionar esse conhecimento seria uma vantagem, porque provavelmente o ramo local será enviado no final. Mas não entendi o que você indicou, é melhor acrescentar isso como um comentário, não como uma resposta. Obrigado por me avisar.
Erdinç Çorbacı
0

no branchB faça $git checkout branchApara alternar para o branch A

no ramo $git merge branchB

É tudo o que você precisa.

Dapo Momodu
fonte