加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-14 05:43:33 所属栏目:Windows 来源:网络整理
导读:我在 Windows上使用git.我曾经添加了一个文件,然后用大写字母更改了一个字母,再次使用新名称添加了它.从那时起,我总是有两个文件(一次是大写,一次不是). myFile.ext myfile.ext 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读