我正试图在我的服务器上执行git pull origin master
,但一直出现以下错误:
请移动或删除它们以便您可以合并。
虽然没有未跟踪的文件,但似乎由于某种原因出现了被忽略的文件问题。
我尝试运行git clean -nd
来查看将被删除的内容,它列出了许多在.gitignore
中被忽略的文件。
我该如何修复这个问题以便我可以进行pull操作呢?
我正试图在我的服务器上执行git pull origin master
,但一直出现以下错误:
请移动或删除它们以便您可以合并。
虽然没有未跟踪的文件,但似乎由于某种原因出现了被忽略的文件问题。
我尝试运行git clean -nd
来查看将被删除的内容,它列出了许多在.gitignore
中被忽略的文件。
我该如何修复这个问题以便我可以进行pull操作呢?
# caution: it will **delete all untracked files**
git clean -d -f
git pull origin master
。git clean -help
来查看其他git clean选项。要删除并清除所有更改,使用命令 git clean -d -f
显然,这些文件是在远程仓库中添加的,无论原始.gitignore
文件的内容是什么。
由于这些文件存在于远程仓库中,Git也必须将它们拉到本地工作目录中,因此会抱怨这些文件已经存在。
.gitignore
仅用于扫描新添加的文件,与已经添加的文件无关。
因此解决方案是删除工作目录中的文件并拉取最新版本。或者,如果这些文件是错误添加的,则从存储库中删除这些文件是长期的解决方案。
从远程分支中删除文件的简单示例是:
$git checkout <brachWithFiles>
$git rm -r *.extension
$git commit -m "fixin...."
$git push
然后你可以再次尝试使用$git merge
.gitignore
中; 所以我不明白为什么Git不能忽略它们 - 它们不在仓库中并且已经被忽略了。 - Brettgit.exe merge --strategy=ours master
git config core.ignorecase true
然后再次尝试拉取,这次成功了。
git pull
你可以将 ignorecase 返回为 false
git config core.ignorecase false
git reset --hard
它实际上重置了您本地服务器上的所有更改。
如果您遇到以下错误:
请尝试手动删除上述文件(小心)。Git 将从主分支合并此文件。