Algumas dúvidas que não ficaram claras para mim: Qual a diferença entre um merge e um rebase. Nos testes que realizei o resultado final foi idêntico. Quando devo utilizar um ou outro? Ainda não tenho bem a noção de quando se deve realizar um commit e um push para o repositório online? Gostava de ter uma sequência de passos a realizar num cenário simulado.
Por exemplo com 3 branches: master, filho1 e filho2. Em que a equipa de desenvolvimento A está a utilizar o branch filho1 está a implementar uma funcionalidade para o mesmo projecto geral. A equipa B está a usar o branch filho2. O primeiro passo a fazer penso eu é ambas as equipas irem buscar o código mais recente ao master: Para isso fazem: "git chekout filho1" ou "filho2" e depois "git rebase master". Aqui deve ser usado um rebase ou um merge? Depois de ambas as equipas A e B terem o projecto atualizado, ambas as equipas começam a desenvolver e a meio da manha a equipa A tem uma função testada e a funcionar. É suposto aqui essa equipa fazer um commit? E fazer um push para o branch (git push origin filho1)? Quando uma equipa quer fazer commit e push de coisas que vai desenvolvendo deve fazer commit / push para o branch em que está a trabalhar ou para o master? E já agora, quando se faz commit é suposto fazer-se um push de seguida? Entretanto a equipa B tb faz uma função e está a funcionar. Chega o final do dia de trabalho. O que devem fazer os programadores no final de um dia de trabalho? Após vários dias de trabalho no projecto a equipa A completa todos os requisitos da funcionalidade que estava a implementar e ja fez testes com sucesso. Agora deve integrar a nova funcionalidade com o "master", correcto? Para isso deve fazer: "git checkout master" e depois fazer "git rebase filho1" (aqui deve usar o rebase ou o merge)?
São tantas as dúvidas que nem sei como as expor... Eu percebi os comandos explicados no curso. As minhas dúvidas tem mais a ver com o workflow e sobre os timmings de quando realizar determinada ação. E também sobre o merge e o rebase.
Obrigado.