我正在尝试git pull origin master
从我的服务器执行操作,但不断收到错误消息:
Please move or remove them before you can merge.
没有未跟踪的文件,但似乎由于某种原因被忽略的文件存在问题。
我尝试运行 agit clean -nd
查看将被删除的内容,它列出了一大堆在.gitignore
.
我该如何解决这个问题,以便我可以拉动?
我刚刚遇到了同样的问题并使用以下方法解决了它。首先使用以下方法清除跟踪的文件:
git clean -d -f
然后尝试git pull origin master
您可以通过键入查看其他 git clean 选项git clean -help
删除和删除所有更改git clean -d -f
显然,无论.gitignore
原始文件的内容是什么,这些文件都已添加到远程存储库中。
由于文件存在于远程存储库中,git 也必须将它们拉到本地工作树中,因此抱怨文件已经存在。
.gitignore
仅用于扫描新添加的文件,与已添加的文件无关。
因此解决方案是删除工作树中的文件并拉取最新版本。或者长期的解决方案是如果错误地添加了文件,则将其从存储库中删除。
从远程分支中删除文件的一个简单示例是
$git checkout <brachWithFiles>
$git rm -r *.extension
$git commit -m "fixin...."
$git push
然后你可以再试$git merge
一次
如果要删除的文件太多,这其实是我的一种情况。您也可以尝试以下解决方案:
1) 获取
2) 与策略合并。例如,这个对我有用:
git.exe merge --strategy=ours master
如果您遇到错误,例如
尝试手动删除上述文件(小心)。Git 将从 master 分支合并此文件。