如何使Git忘记/删除具有无效文件名的已删除文件?
我不知道如何创建,但一位同事创建了一个名称无效的文件(文件名中的斜杠“MCHS\226 FH La Crosse.xlsx”)。这个文件现在已经被删除了,但我似乎无法让git忘记它。我仍然能够拉/推/提交,但在过去的一年里,我每次同步回购协议时都会看到这条消息,今天我决定我已经受够了,我需要它消失如何使Git忘记/删除具有无效文件名的已删除文件?,git,github,cmder,Git,Github,Cmder,我不知道如何创建,但一位同事创建了一个名称无效的文件(文件名中的斜杠“MCHS\226 FH La Crosse.xlsx”)。这个文件现在已经被删除了,但我似乎无法让git忘记它。我仍然能够拉/推/提交,但在过去的一年里,我每次同步回购协议时都会看到这条消息,今天我决定我已经受够了,我需要它消失 我试图做一个git rm,但我得到了错误“不匹配任何文件”。我无法用该文件名重新创建文件以完成rm,因为名称中有斜杠…有什么建议吗?git rm是从索引和/或工作树中删除现有文件。它不会对已删除的文件
我试图做一个git rm,但我得到了错误“不匹配任何文件”。我无法用该文件名重新创建文件以完成rm,因为名称中有斜杠…有什么建议吗?
git rm
是从索引和/或工作树中删除现有文件。它不会对已删除的文件执行任何操作。相反,您可能必须提交文件删除
在终端中,在项目中输入“$git status
”。你应该看到类似的东西
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted: MCHS \226 FH La Crosse.xlsx
最后,推动远程回购。hm,这听起来很有希望。我会试试看,然后再打给你。编辑:还没有运气。尝试添加git时收到以下错误:pathspec“MCHS\\226 FH La Cross.xlsx”与任何文件都不匹配@amacrobert@peterxgriffin
git status
的输出是什么?这与您在原始答案的第一个代码块中列出的内容非常相似:更改未提交:(使用“git add/rm…”更新将提交的内容(使用“git checkout…”放弃工作目录中的更改)删除:“转换脚本/Mayo/LookUpMerge/Category Status StaffType--FINAL/RemainingBlanks/MCHS\226 FH La Crosse.xlsx”未添加要提交的更改(使用“git add”和/或“git commit-a”)
@peterxgriffin您需要提供要添加的文件的相对路径。因此,在您的情况下,git add“Conversion Scripts/Mayo/LookUpMerge/Category Status StaffType--FINAL/RemainingBlanks/MCHS\226 FH La Crosse.xlsx”
git在Windows上存在文件名在Linux上正常工作的问题。(我们这些使用Mac电脑的人不应该太沾沾自喜,因为它在进行大小写折叠的HFS文件系统上也有类似的问题。:-),但我们至少有选择。)您应该能够git rm--cached
路径,但是如果路径已经消失了一年,那么此时它就不应该出现,除非您一直在检查存在的旧提交。您的屏幕截图表明,在最近的提交中,该文件实际上没有被删除,也从来没有被删除过。
git rm -r --cached -- "path/to/directory"
git pull
git rm "path/to/directory"
git add "path/to/directory"
git push
git pull
git rm -r --cached -- "path/to/directory"
git pull
git rm "path/to/directory"
git add "path/to/directory"
git push
git pull