Sobes.tech
Middle

Como é que o processo de fusão (merge) ou rebase ocorre nos sistemas de gestão de versões na sua empresa?

sobes.tech IA

Resposta da IA

Na nossa empresa, o processo de fusão (merge) e rebase está organizado tendo em conta a conveniência do trabalho em equipa e a preservação de um histórico limpo de commits.

Normalmente, os desenvolvedores trabalham em ramos de funcionalidades separados. Antes de fazerem a fusão na rama principal (por exemplo, main ou develop), fazem rebase do seu ramo na HEAD atual da rama principal. Isto permite integrar as últimas alterações e evitar conflitos.

Após um rebase bem-sucedido e a revisão do código, a rama é fundida através de um merge fast-forward ou squash para manter um histórico claro e linear.

Esta abordagem ajuda a:

  • Minimizar conflitos na fusão
  • Manter um histórico de commits limpo e legível
  • Garantir transparência nas alterações através da revisão de código

Exemplo de comandos:

# Atualizar a rama principal local
git checkout main
git pull origin main

# Mudar para a rama de funcionalidades
git checkout feature-branch

# Fazer rebase na main
git rebase main

# Resolver conflitos, se houver

# Voltar para a main e fundir as alterações
git checkout main
git merge feature-branch

# Enviar alterações ao repositório remoto
git push origin main

Este processo ajuda a manter a ordem e a qualidade na base de código.