Executando verificação de segurança...
2

[GIT] Rebasing - Aula 6

Rebasing

Diferentemente do Merge, o Rebase é uma operação que permite mudar a base de uma Branch, essencialmente "reaplicando" as mudanças de uma Branch em outra, sem a criação de um Merge Commit. Exemplo:

      B---C topic
     /
D---E---A   main

Aplicando o Rebase, o exemplo ficaria:

            B---C  topic
          /
D---E---A          main

Perceba que o Rebase basicamente troca o Merge Base de "E" para o final (Tip) de main "A", o que automaticamente gera uma situação de Fast Foward Merge.

Obs: O identificador único (SHA-1) dos Commits "B" e "C" serão alterados, tendo em vista terem trocado de parentes, "B" agora é parente de "A" e não de "E", por isso seu identificador muda, o identificar de "C" muda em decorrência da alteração de "B".

Como fazer um Rebase

Seguimos com o mesmo exemplo:

      B---C topic
     /
D---E---A   main

Importante

No Merge deveríamos ir para main (Switch), e depois realizar o Git Merge na main para fundir a Topic. Entretanto, no Rebase realizaremos o inverso, precisamos estar na topic para executar o Rebase na main.

Tendo isso em mente, iniciamos trocando para topic.

git switch topic

Feito isso, executamos o Rebase:

git rebase main

o que resultará em:

            B---C  topic
          /
D---E---A          main

Após o Rebase, é comum fazer um Fast Forward Merge para atualizar a main com os novos Commits.

Obs: Nunca faça um Rebase de Branch Pública (tipo a main) para outra Branch qualquer.

Carregando publicação patrocinada...
2
0