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
我在 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