Digamos que origin/mastertem commit A--B--Ce meu local/mastertem commit A--B--D.
O que acontecerá se eu usar git pull --rebase?
O que acontecerá se eu usar git pull --ff-only?
Existe alguma diferença na árvore de commit resultante?
Respostas:
O que acontecerá se eu usar git pull --rebase?
git pull --rebase é aproximadamente equivalente a
git fetch
git rebase origin/master
ou seja, suas alterações remotas ( C) serão aplicadas antes das alterações locais ( D), resultando na seguinte árvore
A -- B -- C -- D
O que acontecerá se eu usar git pull --ff-only?
Isso irá falhar.
git pull --ff-only corresponde a
git fetch
git merge --ff-only origin/master
--ff-onlyaplica as alterações remotas apenas se elas puderem ser avançadas. Do homem:
Recuse-se a mesclar e saia com um status diferente de zero, a menos que o HEAD atual já esteja atualizado ou a mesclagem possa ser resolvida como um avanço rápido
Como suas filiais locais e remotas divergiram, elas não podem ser resolvidas por um avanço rápido e git pull --ff-onlyfalharão.
A--B--C.
git pull --rebase --ff-onlyfaria? (assumindo que haja C & D)
pullpode introduzir commits de mesclagem, enquanto você pode preferir trabalhar apenas com rebase e ff.
Dna mudança local? Ambos os comandos seriam equivalentes?