代码之家  ›  专栏  ›  技术社区  ›  Brett

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

  •  89
  • Brett  · 技术社区  · 8 年前

    我想做一个 git pull origin master 来自我的服务器,但不断收到错误:

    Please move or remove them before you can merge.

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

    我试着跑步 git clean -nd 查看将要删除的内容,并列出一大堆在中被忽略的文件 .gitignore .

    我怎么才能把它修好,这样我才能拉起来?

    5 回复  |  直到 8 年前
        1
  •  248
  •   ejntaylor    6 年前

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

    git clean -d -f
    

    那就试试看 git pull origin master

    您可以通过键入查看其他git清理选项 git clean -help

        2
  •  36
  •   DURGESH    6 年前

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

        3
  •  32
  •   Mauricio Gracia Gutierrez    4 年前

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

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

    .git忽略 仅用于扫描新添加的文件,与已添加的文件无关。

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

    从远程分支中删除文件的一个简单示例是

    $git checkout <brachWithFiles>
    $git rm -r *.extension
    $git commit -m "fixin...."
    $git push
    

    然后你可以试试 $git merge 再一次

        4
  •  5
  •   David    6 年前

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

    1) 提取

    2) 与战略合并。例如,这一条适用于我:

    git.exe merge --strategy=ours master
    
        5
  •  0
  •   Deepak G    6 年前

    如果您遇到错误,如

    • 分支主机->获取头(_H) 错误:以下未跟踪的工作树文件将被合并覆盖: src/dj/abc.html 请在合并之前移动或删除它们。 正在中止

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