⊗gtPmBrCSR 44 of 66 menu

Rebase simples de commits no Git

O sistema Git fornece duas maneiras de incorporar alterações ao trabalhar com branches: merge (fusão) e rebase (rebase).

A vantagem do rebase é que o histórico de commits de ambas as branches, ao contrário do merge, será mais linear e mais fácil de entender pelos membros da equipe que trabalha em um mesmo projeto.

No Git, o merge, executado com o comando merge, ocorre como uma fusão tripla (three-way merge) das alterações mais recentes das duas branches sendo mescladas e do snapshot mais recente da branch pai, comum a essas duas branches. Assim, apenas os snapshots finais dos commits das branches são fundidos, e não todo o seu histórico anterior.

O rebase consiste em aplicar as alterações de uma branch (atual) sobre outra branch (que está sendo mesclada com a atual). Vamos criar uma branch test, na qual vamos criar um novo arquivo file.txt, adicioná-lo ao índice e fazer um commit:

git branch test git switch test git add file.txt git commit -m "commit from branch test"

Agora vamos mudar para a branch test e fazer o rebase dela em relação à branch principal master:

git checkout test git rebase master

O próprio processo de rebase ocorre da seguinte forma: primeiro, o Git tira um snapshot da branch pai master, que é salvo em um arquivo temporário. Em seguida, a branch atual test insere suas alterações após o commit mais recente da branch master. Agora, o histórico de commits da branch principal ficará assim:

Após o rebase, o histórico de commits da branch test também ficará similar ao da branch master.

Depois disso, você pode mudar para a branch master e executar um merge de avanço rápido (fast-forward), ou seja, a master se tornará a principal novamente e incluirá todas as alterações da branch test:

git merge test

Crie duas branches test1 e test2, em cada uma delas faça três commits em arquivos diferentes e, em seguida, execute a fusão delas usando rebase simples.

Português
БеларускаяDeutschEnglishEspañolFrançaisРусский
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar