windows – Git:从…中删除完全不存在的文件…从我不知道在哪里

前端之家收集整理的这篇文章主要介绍了windows – Git:从…中删除完全不存在的文件…从我不知道在哪里前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 Windows上使用git.我曾经添加了一个文件,然后用大写字母更改了一个字母,再次使用新名称添加了它.从那时起,我总是有两个文件(一次是大写,一次不是).

myFile.ext
 myfile.ext

Git总是把它解释为两个不同的文件(因为它配置区分大小写)但它实际上是同一个文件,所以它跟踪这个文件两次,每个名称下一次.

我现在已经从repo中删除了大写文件

git rm --cached myFile.ext

所以我现在只有一个我的文件轨道,这一切都很好.

myfile.ext

问题是,如果我想在较旧的提交上进行结账,git说:

error: The following untracked working tree files would be overwritten by checkout:
myFile.ext
Please move or remove them before you can switch branches.
Aborting

但是,我无法对此文件执行任何操作,因为它不在工作树中,也不在索引中.我试图移动文件,删除myfile.ext文件并再次添加,藏匿,但没有任何工作. myFile.ext不会显示在git状态中,也不在gitignore中.

我怎么解决这个问题?

解决方法

也许最好的方法是使用以下命令从历史记录中删除myFile.ext:

git filter-branch --index-filter 'git rm --cached --ignore-unmatch myFile.ext' HEAD

猜你在找的Windows相关文章