-
Ramificações de trabalho
-
A branch master é a padrão
-
Criando branches e trabalhando nelas
-
Ferramenta útil: https://git-school.github.io/visualizing-git
-
Alterando index.html na branch titulo
-
Essas alterações não estão na branch master:
-
Ana vai alterar a lista
-
git merge
- Cria commit unindo alterações de diferentes branches
- Omite commits feitos dentro da branch que ser englobada
git checkout main git merge titulo
-
OBS: o terminal git bash utiliza Vim. Para salvar e sair após alterações: ":x + Enter"
-
Como não “sujar” o log com commits de merge?
-
No https://git-school.github.io/visualizing-git/ vemos a ideia:
-
Diferença entre rebase e merge
O
merge
junta os trabalhos e gera ummerge commit
. Orebase
aplica os commits de outra branch na branch atual. Com isso, evitamos os commits de merge. Há uma longa discussão sobre o que é "melhor":rebase
oumerge
. Estude, pesquise, e tire suas róprias conclusões. Aqui tem um artigo (de milhares outros) que cita o assunto: https://medium.com/datadriveninvestor/git-rebase-vs-merge-cc5199edd77c.
-
Quando há alterações simultâneas no mesmo local do código, o merge não será automatico
-
Corrige-se via IDE ou Vim:
-
Após corrigir, é necessário commitar as mudanças
-
Log resultante
-
Caso outra branch queira unir à main agora, terá que trazer as mudanças antes
SEMPRE dar git pull antes de começar a trabalhar, evitando conflitos.