Разница между git pull --rebase и git pull --ff-only
скажем origin/master
совершил A--B--C
и меня local/master
совершил A--B--D
.
что произойдет, если я использую git pull --rebase
?
что произойдет, если я использую git pull --ff-only
?
есть ли разница в результирующем дереве фиксации ?
1 ответ:
что произойдет, если я использую git pull --rebase ?
git pull --rebase
- это примерно эквивалентноgit fetch git rebase origin/master
т. е. ваши удаленные изменения (
C
) будет применяться до локальных изменений (D
), что приводит к следующим дереваA -- B -- C -- D
что произойдет, если я использую git pull --ff-only ?
это не удастся.
git pull --ff-only
соответствует кgit fetch git merge --ff-only origin/master
--ff-only
применяет удаленные изменения только в том случае, если они могут быть быстро переадресованы. От мужчины:отказ от слияния и выхода с ненулевым статусом, если текущая головка уже не обновлена или слияние не может быть разрешено как быстрая перемотка вперед
поскольку ваши локальные и удаленные ветви разошлись, они не могут быть решены с помощью быстрой перемотки вперед и
git pull --ff-only
потерпит неудачу.