Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使Git忘记/删除具有无效文件名的已删除文件?_Git_Github_Cmder - Fatal编程技术网

如何使Git忘记/删除具有无效文件名的已删除文件?

如何使Git忘记/删除具有无效文件名的已删除文件?,git,github,cmder,Git,Github,Cmder,我不知道如何创建,但一位同事创建了一个名称无效的文件(文件名中的斜杠“MCHS\226 FH La Crosse.xlsx”)。这个文件现在已经被删除了,但我似乎无法让git忘记它。我仍然能够拉/推/提交,但在过去的一年里,我每次同步回购协议时都会看到这条消息,今天我决定我已经受够了,我需要它消失 我试图做一个git rm,但我得到了错误“不匹配任何文件”。我无法用该文件名重新创建文件以完成rm,因为名称中有斜杠…有什么建议吗?git rm是从索引和/或工作树中删除现有文件。它不会对已删除的文件

我不知道如何创建,但一位同事创建了一个名称无效的文件(文件名中的斜杠“MCHS\226 FH La Crosse.xlsx”)。这个文件现在已经被删除了,但我似乎无法让git忘记它。我仍然能够拉/推/提交,但在过去的一年里,我每次同步回购协议时都会看到这条消息,今天我决定我已经受够了,我需要它消失


我试图做一个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