Trabalhando com a fusão e a filial exclua
Vamos primeiro criar um ramo mestre, colocar algumas confirmações, criar um novo ramo chamado Recursos, adicionar algumas confirmações, depois volte para dominar e se comprometer novamente. Aqui estão os comandos:
$ mkdir mygame
$ CD mygame
$ git init
$ echo "Design Decision 1: BrainStarm" >> Design.TXT
$ git add -a
$ git Commit -M "C0: Projeto Iniciado"
$ echo "Design Decision 2: Write Code" >> Design.TXT
$ git add -a
$ git Commit -M "C1: Código enviado"
Recursos de ramificação $ git
Recursos de checkout de $ git
$ echo "Add Recurso 1" >> Recurso.TXT
$ git add -a
$ git Commit -M "C2: Recurso 1"
$ echo "Add Recurso 2" >> Recurso.TXT
$ git add -a
$ git Commit -M "C3: Recurso 2"
$ git checkout mestre
$ echo "MODIFICANTE MASTRO AGRESENTE" >> Design.TXT
$ git add -a
$ git Commit -M "C4: Mestre modificado"
Os comandos acima criaram a seguinte situação:
Você pode verificar o histórico dos dois ramos para ver o que eles têm:
$ git status
No mestre da filial
nada para se comprometer, diretório de trabalho limpo
$ git log --oneeline
2031B83 C4: Mestre modificado
1C0B64C C1: Código enviado
Recursos de checkout de $ git
Mudou para a filial 'Recursos'
$ git log --oneeline
93d220b C3: Recurso 2
AD6DDB9 C2: Recurso 1
1C0B64C C1: Código enviado
EC0FB48 C0: Projeto iniciado
Agora, vamos supor, você deseja trazer todas as mudanças da filial de recursos para o nosso ramo mestre. Você terá que iniciar o processo do destino da mesclagem. Porque queremos se fundir no ramo principal, você precisa iniciar o processo a partir daí. Então, vamos conferir o ramo principal:
$ git checkout mestre
Mudou para a filial 'Mestre'
$ git status
No mestre da filial
nada para se comprometer, diretório de trabalho limpo
Agora vamos criar a mesclagem:
Recursos de fusão de $ git
Se não houver conflitos na mesclagem, você receberá um editor de texto com os comentários:
Merge Branch '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 uma filial de tópicos.
#
# Linhas começando com '#' serão ignoradas e uma mensagem vazia aborta
# o compromisso.
Você pode modificar os comentários ou aceitar os padrão. A saída de mesclagem deve mostrar resultados como este:
Merge feita pela estratégia 'recursiva'.
recurso.txt | 2 ++
1 arquivo alterado, 2 inserções (+)
Criar Modo 100644 Recurso.TXT
Após a fusão, você tem a seguinte condição:
Se você verificar os logs, encontrará:
$ git status
No mestre da filial
nada para se comprometer, diretório de trabalho limpo
$ git log --oneeline
46539a3 C5: ramo de mesclagem 'Recursos'
2031B83 C4: Mestre modificado
93d220b C3: Recurso 2
AD6DDB9 C2: Recurso 1
1C0B64C C1: Código enviado
EC0FB48 C0: Projeto iniciado
Você mesclou com sucesso as mudanças. No entanto, o ramo de recursos ainda está presente.
$ git ramo -a
características
* mestre
Você pode excluí -lo com o seguinte comando:
Recursos de ramificação $ git -D
Se você verificar agora, você deve ver apenas o ramo principal:
$ git ramo -a
* mestre
Conclusão
Certifique -se de verificar regularmente se há galhos não utilizados e excluí -los. Você quer manter seu repositório limpo para facilitar a navegação e a compreensão.