Noções básicas de Git mesclando e excluindo ramificações

Basics Git Merging



A ramificação pode ajudá-lo a manter seu trabalho organizado. No entanto, você precisa ser capaz de mesclar seu trabalho para torná-lo coerente. Se você nunca mesclar e excluir as ramificações, seu histórico pode se tornar caótico demais para ser entendido.

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 checkoutmestre
Mudou 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 status
No 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 -para
recursos
*mestre

Você pode excluí-lo com o seguinte comando:

$ramo git -drecursos

Se 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.

Leitura adicional: