Git

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

Noções básicas de Git mesclando e excluindo ramificações
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 os ramos, 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:

$ 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"
$ git branch features
$ git checkout features
$ echo "Adicionar recurso 1" >> recurso.TXT
$ git add -A
$ git commit -m "C2: Recurso 1"
$ echo "Adicionar recurso 2" >> recurso.TXT
$ git add -A
$ git commit -m "C3: Recurso 2"
$ git checkout master
$ echo "Modificando Mestre Novamente" >> design.TXT
$ git add -A
$ 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 --oneline
2031b83 C4: Master Modificado
1c0b64c C1: Código enviado
 
$ git checkout features
Comutado para 'recursos' de ramificação
 
$ git log --oneline
93d220b C3: Recurso 2
ad6ddb9 C2: Recurso 1
1c0b64c C1: Código enviado
ec0fb48 C0: Projeto iniciado

Agora vamos supor que você deseja 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 checkout master
Mudou para branch 'master'
 
$ git status
No mestre de filial
nada para confirmar, diretório de trabalho limpo

Agora vamos criar a fusão:

$ git merge features

Se não houver conflitos na mesclagem, você terá um editor de texto aberto com os comentários:

Mesclar 'recursos' do branch
 
# Por favor, insira uma mensagem de confirmação para explicar por que essa mesclagem é necessária,
# especialmente se mescla 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 pela estratégia 'recursiva'.
característica.txt | 2 ++
1 arquivo alterado, 2 inserções (+)
modo de criação 100644 recurso.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 --oneline
46539a3 C5: Mesclar 'recursos' de ramificação
2031b83 C4: Master Modificado
93d220b C3: Recurso 2
ad6ddb9 C2: Recurso 1
1c0b64c C1: Código enviado
ec0fb48 C0: Projeto iniciado

Você mesclou as alterações com sucesso. No entanto, o ramo de recursos ainda está presente.

$ git branch -a
recursos
* mestre

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

$ git branch -d features

Se você verificar agora, verá apenas o branch master:

$ git branch -a
* 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 torná-lo fácil de navegar e entender.

Leitura adicional:

Como capturar e transmitir sua sessão de jogo no Linux
No passado, jogar era considerado apenas um hobby, mas com o tempo a indústria de jogos viu um grande crescimento em termos de tecnologia e número de ...
Melhores jogos para jogar com rastreamento manual
Oculus Quest introduziu recentemente a grande ideia de rastreamento manual sem controladores. Com um número cada vez maior de jogos e atividades que e...
Como mostrar a sobreposição de OSD em aplicativos e jogos Linux em tela cheia
Jogar jogos em tela cheia ou usar aplicativos em modo de tela cheia sem distração pode cortar você das informações relevantes do sistema visíveis em u...