为什么删除 .git 会删除所有跟踪的文件?

为什么删除 .git 会删除所有跟踪的文件?

我想重新创建一个 git 存储库。我的理解是,通过删除“.git”文件夹,我可以从新的历史记录开始。但是,删除该文件夹似乎会删除所有追踪文件,只在磁盘上留下未跟踪的文件。

我能够从备份中恢复文件,但我不明白可能出了什么问题。

答案1

所有跟踪的文件都存储在.git/index文件中,如果您删除该文件,所有文件都将变为未跟踪文件。当您从.git/文件夹中删除所有文件时,您基本上就是在擦除/销毁整个存储库。

目前尚不清楚您想要实现什么,因此:

  • 重建索引, 跑步:git reset && git add -u

  • 要在删除后重新创建 Git .git,请运行:git init

  • 要重新添加所有未跟踪的文件,请运行:git add -A并提交它们。

答案2

你可能处于一个裸存储库中,其中没有可用的工作文件,你只有存储库。因此,如果你删除 git 目录,则会删除所有内容。看看https://stackoverflow.com/a/28428742以及该问题中的其他答案。

此外,无论你想实现什么,你都不应该玩弄.git存储库。使用git命令来实现你的目标,并将.git目录视为禁区,仅供工具内部工作。

相关内容