1
resposta

conflito no rebase

Na aula, o instrutor apresentou o conflito que ocorre ao dois desenvolvedores mexerem na mesma linha de codigo e me veio uma duvida de qual seria o comportamento com relacao aos commits existesntes.

Joao Foneseca alterou o rodape do site para e fez o commit mensagem de copyright que gerou conflito com commit site -> sistema da Maria. Para resolver o conflito, foi apagado a linha Rodape do sistema (commit site -> sistema da Maria) e mantido o Copyright Alura (commit mensagem de copyright do Joao).

A minha duvida seria, pelo fato de ter sido apagado a linha do commit site -> sistemada Maria mantendo a linha do commit mensagem de copyright do Joao, o commit site -> sistema ficaria como? Seria editado no commit e retirado a linha Rodape do sistema pelo fato de que foi apagado para manter a linha Copyright Alura? Ou seja, quando eu resolvo o conflito e apago a linha do outro commit, este commit que teve a linha apagada deixa de existir?

Nao entendi ao certo como o Git se comporta no git log neste caso em que apagamos uma linha de um commit e substituimos pela linha de outro commit.

1 resposta

Olá Tiago!

O git rebase atualiza sua branch atual para ficar como está a master. Ou seja, sua branch terá todo o histórico da master. Quando você aplica alguma alteração que também foi alterado na master, você terá um conflito. A resolução desse conflito também manterá um histórico, podendo voltar para o estado anterior.

Quanto ao git log, o que acontecerá é que os commits mudarão de ordem. O que foi commitado será "mergeado" antes dos seus commits.

Bom, acho que eu possa ter soado meio confuso, mas na documentação tem mais material sobre o rebase.

Bons estudos!