在git拉origin master之后,我得到了以下消息:

warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:

  git config pull.rebase false  # merge (the default strategy)
  git config pull.rebase true   # rebase
  git config pull.ff only       # fast-forward only

You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.

remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), 51.49 KiB | 850.00 KiB/s, done.

拉动似乎成功了,但我不确定。

我该怎么补救呢?


当前回答

已经有很多答案了,但是,我的处理方式是 如果你想从分支A拉到分支B

我首先从a中创建一个pull request到let,比如master。 确保所有冲突都得到解决,并将A合并为master。 然后简单地从主分支拉入分支B。

其他回答

运行这个:

git config pull.ff only

祝贺自己能继续工作。

Git拉源主-rebase

为我工作!

我一直在用——ff-only得到错误,所以我只是创建了一个与远程分支同步的新分支:

跳到另一根树枝上:

git checkout -b other-branch

更改它的名称,这样它就不会打扰你:

git branch -m myBranch broken-myBranch

签出你想要同步的远程分支:

git checkout origin/myBranch

为它创建一个本地分支:

git checkout -b myBranch

将远程分支连接到您的:

--set-upstream-to=origin/myBranch myBranch

我不知道这是否与您的问题有关,但请注意Git v2.34.0版本有一个问题。git pull命令没有预期的行为。

发布说明中关于Git修复和2021-11-24新版本的消息:

当对方在我们身后的时候,任何策略都应该是“git pull” 成功,因为它是一个没有操作,但没有”。

Git v2.34.1版本说明

Git配置拉。仅Ff或等价于git pull, Ff -only是最安全的。原因是,如果另一个开发人员强制推送到同一个分支,那么rebase可能会覆盖历史记录,并可能导致提交丢失。

但它们都是有效的。