为什么 git pull 会导致数千个合并冲突?

gfy*_*ytd 5 git

我们有一个远程存储库,其中有主分支、开发分支和一堆错误修复分支。

几个月前我将其克隆到本地,并签出开发分支但什么也没做,然后前几天我切换到 bugfix_1 分支,但仍然什么也没做。

今天,我切换回开发分支,并运行git pull,但它导致了数千个合并冲突。

我曾经认为git pull类似于svn update,无论远程仓库上更改了多少文件,都不应该有任何合并冲突,因为我没有在本地更改任何内容。

我曾经是一个 svn 用户,并且对 git 有点陌生,如果有人可以提供一些解释,或者一些可能的原因,我将非常感激。或者也许我只是完全做错了什么?

另一个问题是,假设我在开发分支,这两个命令之间有什么区别:

git拉

git pull origin 开发

谢谢。

编辑:

我上周根据简的建议做git fetch origin了。git reset --hard origin/development

今天,我运行git fetch origingit status它给出:

您的分支和“起源/开发”已经出现分歧,分别有 45 和 51 个不同的提交。

我不知道为什么有 45 个本地提交,我没有改变任何东西!

Jan*_*egg 4

对于你的第一个问题:

是的,你是完全正确的,如果你没有改变任何东西,你不应该有任何合并冲突。我能想到的唯一可能的原因是,如果有人更改了服务器上的历史记录(您永远不应该这样做),而不是仅将更新推送到服务器。

您可以通过运行以下命令来使用服务器上的任何内容(如果您没有任何本地更改):

git checkout master
git reset --hard origin/master
Run Code Online (Sandbox Code Playgroud)

对于你的第二个问题:

请把它放在 StackOverflow 上的一个单独的问题中,这两个问题没有任何共同点......