Branching e Merging:Fast Forward - UnbDroid/AprendendoGithub GitHub Wiki
Fast Forward
Agora que sabemos um pouco sobre branches, vamos aprender sobre o Fast Forward Merge.
Fast Forward Merge é o nome dado quando ocorre um merge do branch secundário para o branch primário sem que haja algum commit no branch primário. Além disso, outra condição necessária pra que ocorra é não o desabilitarmos, pois é habilitado por padrão e veremos mais afrente como desabilitado.
Agora vamos praticar. Primeira coisa a se fazer é:
- Deixar o Workspace(Espaço de trabalho) limpo. Para saber se está limpo, basta digitar
git status - Fazer a sincronização dos dados, pois estamos aprendendo a lidar com
branche será mais facil para explicar. Para fazer isso, basta fazer opulle opush - Criar e ir para o novo branch. Para fazer isso, digite
git checkout -b sasuke, pois nosso novo branch será osasuke
Depois disso, utilizaremos os comandos para saber a situação atual:
git status
git branch
git hist
Depois destes comandos, faça algumas modificações em alguns arquivos e faça pelo menos um commit e limpe seu Espaço de Trabalho(workspace). Agora digite os comandos para saber a situação atual.
Agora vamos fazer o merge: primeira coisa que fazemos é mudar para o branch para fazer o branch que queremos, no nosso caso é o master digitando o comando:
git checkout master
E então fazemos o merge com o branch sasuke:
git merge sasuke
Agora, o que realmente aconteceu? Por que ao saber a situação atual, parece que não mudou nada!

Desabilitando o Fast Forward
Agora que aprendemos o básico de como fazer um merge, vamos observar o histório da commits:
git hist
Merge branch 'master' into sasuke
Para desabilitar o Fast Foward, é simples: acrescentamos --no-ff:
git merge sasuke --no-ff
Desabilitando o Fast Foward, é possivel