Eu fiz o seguinte dei um git rebase main na nova-funcionalidade e depois dei um git rebase nova-funcionalidade na branch main
depois dei o git push das duas branch.
Isso estaria errado ou não?
Eu fiz o seguinte dei um git rebase main na nova-funcionalidade e depois dei um git rebase nova-funcionalidade na branch main
depois dei o git push das duas branch.
Isso estaria errado ou não?
Oi, Levi, tudo bem?
Você fez uma pergunta interessante sobre o uso do git rebase
. Vamos analisar o que você fez:
Você estava na branch nova-funcionalidade
e executou git rebase main
. Isso significa que você pegou os commits da main
e os aplicou antes dos commits da nova-funcionalidade
. Até aqui, tudo bem, pois isso garante que sua nova-funcionalidade
está atualizada com as últimas mudanças da main
.
Depois, você foi para a branch main
e executou git rebase nova-funcionalidade
. Isso reescreveu a história da main
para incluir os commits da nova-funcionalidade
antes dos commits da main
.
Ao final, você fez git push
das duas branches. Aqui está o ponto crucial: quando você faz um rebase
, você está reescrevendo a história dos commits, o que pode causar problemas se outras pessoas estiverem trabalhando nas mesmas branches e já tiverem puxado os commits antigos. Nesse caso, é mais seguro fazer um merge
:
# Na branch nova-funcionalidade
git rebase main
# Voltar para a main
git checkout main
# Fazer o merge da nova-funcionalidade na main
git merge nova-funcionalidade
# Push das mudanças
git push origin main
Dessa forma, você evita reescrever a história da main
e mantém um histórico mais limpo e compreensível para todos os colaboradores.