Trabalhando com Mesclagem e Exclusão de Filiais
Vamos primeiro criar um branch master, colocar alguns commits, criar um novo branch chamado features, adicionar alguns commits, então voltar ao master e fazer commit novamente. Aqui estão os comandos:
$mkdirMeu jogo
$CDMeu jogo
$git init
$jogou fora 'Decisão de Projeto 1: Brainstarm' >>design.txt
$git add -PARA
$git commit -m 'C0: Projeto Iniciado'
$jogou fora 'Decisão de Projeto 2: Escrever Código' >>design.txt
$git add -PARA
$git commit -m 'C1: Código Enviado'
$ramo gitrecursos
$git checkoutrecursos
$jogou fora 'Adicionar Recurso 1' >>feature.txt
$git add -PARA
$git commit -m 'C2: Recurso 1'
$jogou fora 'Adicionar Recurso 2' >>feature.txt
$git add -PARA
$git commit -m 'C3: Recurso 2'
$git checkoutmestre
$jogou fora 'Modificando Mestre Novamente' >>design.txt
$git add -PARA
$git commit -m 'C4: Master Modificado'
Os comandos acima criaram a seguinte situação:
Você pode verificar o histórico dos dois branches para ver quais commits eles têm:
$git status
No mestre de filial
nada para confirmar, diretório de trabalho limpo
$git log --uma linha
2031b83 C4: Master Modificado
1c0b64c C1: Código enviado
$git checkoutrecursos
Mudou para filial'recursos'
$git log --uma linha
93d220b C3: Característica2
ad6ddb9 C2: Recurso1
1c0b64c C1: Código enviado
ec0fb48 C0: Projeto iniciado
Agora vamos supor que você queira trazer todas as mudanças do branch de recursos para o nosso branch master. Você terá que iniciar o processo a partir do destino da fusão. Porque queremos fundir no branch master, você precisa iniciar o processo a partir daí. Então, vamos verificar o branch master:
$git checkoutmestreMudou para filial'mestre'
$git status
No mestre de filial
nada para confirmar, diretório de trabalho limpo
Agora vamos criar a fusão:
$git mergerecursos
Se não houver conflitos na mesclagem, você terá um editor de texto aberto com os comentários:
Juntar ramificação'recursos'# Por favor, insira uma mensagem de confirmação para explicar por que essa mesclagem é necessária,
# especialmente se ele mesclar um upstream atualizado em um branch de tópico.
#
# Linhas começando com '#' serão ignoradas e uma mensagem vazia será cancelada
# o commit.
Você pode modificar os comentários ou aceitar os padrão. A saída de mesclagem deve mostrar resultados como este:
Mesclagem feita por'recursivo'estratégia.feature.txt| 2++
1 Arquivomudado,2inserções(+)
modo de criação100644feature.txt
Após a fusão, você tem a seguinte condição:
Se você verificar os logs, encontrará:
$git statusNo mestre de filial
nada para confirmar, diretório de trabalho limpo
$git log --uma linha
46539a3 C5: Mesclar ramificação'recursos'
2031b83 C4: Master Modificado
93d220b C3: Característica2
ad6ddb9 C2: Recurso1
1c0b64c C1: Código enviado
ec0fb48 C0: Projeto iniciado
Você mesclou as alterações com sucesso. No entanto, a ramificação do recurso ainda está presente.
$ramo git -pararecursos
*mestre
Você pode excluí-lo com o seguinte comando:
$ramo git -drecursosSe você verificar agora, verá apenas o branch master:
$ramo git -para*mestre
Conclusão
Certifique-se de verificar regularmente se há ramos não utilizados e excluí-los. Você deseja manter seu repositório limpo para facilitar a navegação e o entendimento.