Git 不允许我用 --ff-only 拉,也不允许我推

Git won't allow me to pull with --ff-only and it won't allow me to push

我在 macOS 上使用以下版本的 Git:

$ git --version
git version 2.36.1

当我提交并尝试推送我的更改时,我得到:

$ git push
To https://github.com/myproject/web.git
 ! [rejected]            feature/test_feature -> feature/test_feature (non-fast-forward)
error: failed to push some refs to 'https://github.com/myproject/web.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' 

然后,当我尝试拉动时,出现以下错误:

$ git pull
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
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.
fatal: Need to specify how to reconcile divergent branches.

尝试执行 --ff-only 结果:

$ git pull --ff-only
fatal: Not possible to fast-forward, aborting.

我在推和拉之前也尝试了运行这些:

$ git config pull.rebase
$ git config pull.rebase true
$ git config pull.ff only

不确定我还有哪些其他选择。

别说git pull。曾经。它非常 configuration-dependent,因此您永远不知道它会做什么 — 有时,正如您发现的那样,它会做的并不是您想要的。相反,说

git fetch
git merge

现在说

git push