如何使 Git forget/remove 文件名无效的已删除文件?
How can I make Git forget/remove a deleted file that has an invalid filename?
我不确定如何,但一位同事创建了一个名称无效的文件(文件名中的斜线,"MCHS 6 FH La Crosse.xlsx")。该文件现已删除,但我似乎无法 git 忘记它。我仍然可以 pull/push/commit,但过去一年我每次同步回购时都会盯着这条消息看,今天我决定我已经受够了,我需要它了。
我尝试执行 git rm 但出现错误 "did not match any files"。由于名称中的斜线,我无法用该文件名重新创建一个文件来完成 rm...有什么建议吗?
git rm
是从索引 and/or 工作树中删除现有文件。它不会对已删除的文件执行任何操作。相反,您可能必须提交文件删除。
在终端中,$ 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 6 FH La Crosse.xlsx
添加文件并提交:
git add "MCHS \226 FH La Crosse.xlsx"
git commit -m "remove deleted file from remote repo"
最后,推送到您的远程仓库。
git rm -r --cached -- "path/to/directory"
git pull
git rm "path/to/directory"
git add "path/to/directory"
git push
git pull
我不确定如何,但一位同事创建了一个名称无效的文件(文件名中的斜线,"MCHS 6 FH La Crosse.xlsx")。该文件现已删除,但我似乎无法 git 忘记它。我仍然可以 pull/push/commit,但过去一年我每次同步回购时都会盯着这条消息看,今天我决定我已经受够了,我需要它了。
我尝试执行 git rm 但出现错误 "did not match any files"。由于名称中的斜线,我无法用该文件名重新创建一个文件来完成 rm...有什么建议吗?
git rm
是从索引 and/or 工作树中删除现有文件。它不会对已删除的文件执行任何操作。相反,您可能必须提交文件删除。
在终端中,$ 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 6 FH La Crosse.xlsx
添加文件并提交:
git add "MCHS \226 FH La Crosse.xlsx"
git commit -m "remove deleted file from remote repo"
最后,推送到您的远程仓库。
git rm -r --cached -- "path/to/directory"
git pull
git rm "path/to/directory"
git add "path/to/directory"
git push
git pull