繁体   English   中英

如何从git中删除未跟踪的管理员文件?

[英]How to remove untracked administrator files from git?

我最近一直在学习 git,但遇到了一个问题。 不幸的是,我在本质上是我的主文件夹 (C:\\Users\\exces) 中意外地初始化了一个存储库。 从那以后,每当我执行git status时,一大堆红色文件夹总是显示为“未跟踪”。 我尝试使用git cleangit add -u .删除那些未跟踪的文件夹git add -u . ,甚至git reset --hard HEAD命令,但可以预见的是,git 无法访问这些命令,并且总是返回整个warning: could not open directory 'FolderName/': Permission denied列表warning: could not open directory 'FolderName/': Permission denied

有没有办法强行删除这些不相关的文件夹,重置整个内容,或者告诉 git 我不想再将 repo 放在我的主文件夹中? 谢谢。

如果您从未在该 repo 中进行过提交:

“告诉 git 你不想要你的主文件夹中的 repo”很简单:删除位于你的主目录根目录下的隐藏.git/目录。

警告:如果犯什么东西,这个动作是破坏性的,会丢掉跟踪数据(它不会从硬盘删除的文件,但你会失去你以前有git的历史)。

然后,您可以在要跟踪的实际目录中运行git init

当你使用git init创建一个新的仓库时,Git 会在你所在的文件夹中创建一个隐藏的.git/目录。这个.git/目录的存在意味着包含的文件夹被 Git 识别为一个仓库。 Git 不会更改有关文件夹的任何其他内容; 所有相关信息都存储在.git/

在您的情况下,如果您的主文件夹中有一个.git/目录,Git 认为整个主文件夹是一个 repo,并跟踪主文件夹中所有文件和子文件夹中的更改 - 这不是您想要的。 您很可能想删除.git/目录,之后 Git 将不再认为您的主文件夹是一个存储库,并且它将停止跟踪您的主文件夹的所有内容。

.git/目录还包含有关您的存储库历史记录的信息:您创建的分支、提交等。如果您已经提交了某些内容,通过删除.git/目录,您将丢失提交的历史记录。 如果您创建了另一个分支并在那里进行了一些提交,那么您也会丢失另一个分支上的提交。
然而,如果你还没有提交任何东西,或者只在一个分支上工作,你的文件不会被删除或更改 - 你可以安全地删除.git/目录。

当你想创建一个新的存储库时,你应该首先创建一个新文件夹,然后该新文件夹中运行git init - 这将在文件夹中创建.git/目录,并且 Git 将知道该文件夹包含你的存储库。 将所有项目文件保存在文件夹中,Git 会跟踪它们。

顺便说一句,如果您想告诉 Git 忽略(即不跟踪更改)您的存储库中的某些特定文件 - 例如包含机密的文件、构建的输出文件或您不想提交但保留在您的其他文件中的其他文件出于某种原因文件夹 - 您可以创建一个.gitignore文件并在那里列出此类文件。 还有其他忽略文件的选项

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM