Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Uso do github em equipe

Estou trabalhando em uma equipe e quase que diariamente preciso pegar alterações de uma branch principal e atualizar a minha branch de trabalho, sem alterar a branch principal... qual seria a melhor forma realizar esse processamento (fazer um rebase puxando as alterações da principal para minha branch?)

2 respostas
solução!

Opa Nicolas, tudo bem?

Então cara, você pode utilizar o merge mesmo, pois o git merge e o git rebase servem para a mesma coisa: mesclar alterações de duas branches diferentes.

O merge, na maioria das vezes, gera um novo commit, o que pode complicar o histórico, mas nunca o reescreve. Já o rebase, deixa o histórico linear e mais simples, mas alguns commits são reescritos.

Quando não há novos commits na branch que vai receber os novos commits, é só mexer os apontadores do git. Esse tipo de mesclagem é o fast-forward, que tem o mesmo resultado tanto pra merge como pra rebase.

Ao trabalharmos com branches remotas (o que é inevitável num projeto), precisamos decidir entre git pull (que não passa de um fetch seguido de um merge) e git pull --rebase (um fetch com um rebase).

Se você fizer sempre rebase, você vai ter problemas com branches remotas porque o git não vai deixar você fazer push de um histórico alterado. Só se você forçar a barra com o --force (perigoso demais!).

Espero que tenha esclarecido suas duvidas.

Opa Gabriel, Tranquilo?

Valeu ai pelas dicas cara, vou tentar aplicá-las... muito obrigado