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?

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

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

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

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/


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.