Skip to content

Need to specify how to reconcile divergent branches when git pull

Error message

 ! [rejected]        main -> main (non-fast-forward)
error: failed to push some refs to 'github.com:julyfun/mfa.fish.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

or

hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint: 
hint:   git config pull.rebase false  # merge (the default strategy)
hint:   git config pull.rebase true   # rebase
hint:   git config pull.ff only       # fast-forward only
hint: 
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.

First Check

Check if you have tried git pull.

Sol 1

Use github desktop, just pull and no problem occurs.

Sol 2

git config pull.rebase false

That's what github desktop does.