首页 > 解决方案 > gitbash 上未跟踪的文件

问题描述

显然我git init在开始我当前的 git 存储库之前做过,我不确定如何删除所有未跟踪的文件而不从我的计算机中永久删除它或删除我在 github 上的当前存储库。我怀疑这/c/Users/A/.git是问题所在,因为基本上我计算机上的大多数文件被列为未跟踪:

A@LAPTOP ~ (main)
$ find $HOME -type d -name .git
/c/Users/A/.git   #I WANT TO DELETE THIS
find: ‘/c/Users/A/AppData/Local/Temp/msdtadmin’: Permission denied
/c/Users/A/Desktop/Test/Project/GIT/.git # I DO NOT WANT TO DELETE THIS

我该如何解决这个问题?

标签: gitgithubrepository

解决方案


看起来你的.git文件夹放错了地方。您可以将其重命名为任何名称.git,它不会对其他文件产生任何影响。如果您仍然需要它,您可以将其重命名:

mv .git _.git_backup

如果你犯了一个错误,这个操作是可逆的:

mv _.git_backup .git

如果您的.git目录位于错误的位置并且已经对其进行了处理,最好将其移动到其他位置以防止发生任何意外(切换分支、丢失工作树更改等)。

在您的计算机上的某处创建一个新的空文件夹,例如/tmp/recovery并将您的.git文件夹复制到那里。然后切换到目录并执行git status. 它的输出是否符合您的期望?它可能会告诉你很多“在工作树中删除”的文件。如果是这种情况,请git checkout HEAD -- . 在新的目录中执行。

这将恢复在 Git 存储库中跟踪的文件。再次检查您的目录以符合您的期望。也许你可以设法从那里去。如果没有,请告诉我们新目录中有哪些文件以及您期望的文件(编辑您的问题并将此信息添加到其中)。

最后,重命名主文件夹中的原始.git目录(重命名,而不是删除。重命名允许您撤消操作)。


推荐阅读