Git pull - 请在合并之前移动或删除它们

时间:2016-03-16 15:11:53

标签: git git-merge git-pull git-clean

我正在尝试从我的服务器执行git pull origin master但仍然收到错误:

Please move or remove them before you can merge.

没有未跟踪的文件,但由于某种原因,它似乎与被忽略的文件有问题。

我尝试运行git clean -nd来查看要删除的内容,并列出了.gitignore中忽略的一大堆文件。

我该如何解决这个问题呢?我可以做一下吗?

6 个答案:

答案 0 :(得分:65)

我刚刚遇到了同样的问题并使用以下方法解决了这个问题。首先使用以下方法清除跟踪文件:

git clean -d -f

然后尝试git pull origin master

您可以通过键入git clean -help

来查看其他git clean选项

答案 1 :(得分:15)

显然,无论原始文件中.gitignore文件的内容是什么,文件都已添加到远程存储库中。

由于文件存在于远程存储库中,git也必须将它们拉到本地工作树,因此抱怨文件已经存在。

.gitignore仅用于扫描新添加的文件,它与已添加的文件没有任何关系。

因此,解决方案是删除工作树中的文件并提取最新版本。或者,长期解决方案是如果错误地添加了文件,则从存储库中删除文件。

答案 2 :(得分:4)

删除&删除所有更改git clean -d -f

答案 3 :(得分:1)

如果要删除的文件太多,这实际上是我的情况。您也可以尝试以下解决方案:

1)提取

2)与策略合并。例如,这对我有用:

git.exe merge --strategy=ours master

答案 4 :(得分:0)

如果您收到错误

  • 分支主机 - > FETCH_HEAD 错误:合并将覆盖以下未跟踪的工作树文件:     SRC / DJ / abc.html 请在合并前移动或删除它们。 中止

尝试手动删除上述文件(小心)。 Git将从master分支合并此文件。

答案 5 :(得分:0)

如果需要,将文件添加到源代码管理,然后合并开发。它有效:)