This is an attempt to revive the old patch series [1], except the only thing it's doing is the important change: adding the option to reject non-ff pulls. Following this patch the next one should add a new default mode that warns instead of fail, and the next one change the default to ff-only. This leaves the interface in an inconsistent state, IMO, since I believe these should work: * git pull --rebase * git pull --merge * git -c pull.mode=rebase pull * git -c pull.mode=merge pull * git -c pull.mode=ff-only pull But that can be fixed later. Cheers. [1] https://lore.kernel.org/git/1398988808-29678-1-git-send-email-felipe.contreras@xxxxxxxxx/ Felipe Contreras (1): pull: add ff-only option Documentation/config/branch.txt | 2 ++ Documentation/config/pull.txt | 2 ++ builtin/pull.c | 6 +++++- rebase.c | 2 ++ rebase.h | 3 ++- t/t5520-pull.sh | 36 +++++++++++++++++++++++++++++++++ 6 files changed, 49 insertions(+), 2 deletions(-) -- 2.29.2