git repo 中的文件都被删除和未跟踪,但它们仍然存在。这怎么可能?
Posted
技术标签:
【中文标题】git repo 中的文件都被删除和未跟踪,但它们仍然存在。这怎么可能?【英文标题】:files in the git repo are both deleted and untracked but they're still there. How is that possible? 【发布时间】:2016-06-24 20:33:09 【问题描述】:我的仓库中的所有(数百个)文件现在都显示为未跟踪和已删除,尽管我不知道发生了什么?
ls
显示文件在目录中
但目录中的git status .
的文件已删除且未跟踪。几个月来我没有碰过这些文件中的任何一个。此外,文件所在的网站现在也无法正常工作...
【问题讨论】:
它说“要提交的更改”。这意味着这些文件的删除尚未提交。 Spaces in the filenames? 【参考方案1】:这种情况可能是由您正在使用的 IDE 引起的。可能的情况,AFAIK 可能是这样的:
1- 您已从 IDE 中删除了四个文件(dashicons.eot、.svg、....),该 IDE 可能有一个 git 插件来跟踪更改的文件。
2- 一段时间后,您更改了这些文件并再次添加了它们,但 IDE git 插件尚未同步,或者您已从 IDE 外部恢复它们。
要查看这些文件中 git 跟踪的最终有效结果是什么,我建议:
git reset <file-name>
取消暂存为<file-name>
提交的更改或只是简单
git reset
这将取消暂存所有使用git add
暂存的文件,无论是在终端中还是通过 IDE 插件。
那么,
git status
我假设您现在应该看到您的文件(破折号)已被修改,而不是被删除
现在您可以再次添加它们并提交您的修改,并且不会对您的存储库应用任何删除,无论是本地还是远程。
【讨论】:
【参考方案2】:git 状态显示您在删除文件(dashicons.eot、dashicons.svg、dashicons.ttf 和 dashicons.woff)后尚未提交更改。此外,它还显示这些文件未被跟踪。
-
“我已经有几个月没有碰过这些文件了。”
由于您不确定所做的更改,我们建议您在另一个目录中再次clone 项目并使用新目录。
【讨论】:
【参考方案3】:我在 Mac 上也遇到了同样的问题。为什么会发生我不知道,但是在这个分支上 git pull
、git push
和 git reset HEAD
之后,它又可以正常工作了。
【讨论】:
以上是关于git repo 中的文件都被删除和未跟踪,但它们仍然存在。这怎么可能?的主要内容,如果未能解决你的问题,请参考以下文章
在 VSCode 中保存文件会删除 git repo 中的所有跟踪文件