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