16 - Qual a diferença entre um merge fast forward e um merge commit? Em qual destes merges é possível haver um merge conflict?
Um merge fast forward, apenas aplica as alterações feitas num commit (avanço rápido), que por exemplo, define um novo branch criado para corrigir uns erros encontrados. Após aplicar, atualiza o branch master para o último commit feito no novo branch.
Executamos os seguintes comandos para atualizar o branch master para o commit mais recente:
$ git checkout master
$ git merge <novo_branch>
Um merge commit compara os dois branches mais o commit antigo comum dos dois branches. Se não houver nenhum conflito aplica as mudanças dos dois branches em um novo commit.
Este último merge poderá ter um merge conflict, ou seja, alterações na mesma linha em diferentes branches. Se for o caso, teria que se resolver o conflito primeiro e depois executar o commit.
Por Daniela Gameiro