Git - 检出的文件多于存储库中的文件

Git - checking out more files than in repository

我们正在将我们的存储库从 TFS 迁移到 Git,对于我们的一个存储库,克隆过程和构建机器上的检查表明它正在接收对象并显示 30,000 个计数。我们的 repo 中只有大约 2000 个文件。我们怎样才能知道它实际检查的是什么?更重要的是,我们如何解决它?

TIA

在git中,每个“工作副本”实际上都是存储库的完整“克隆”。这包括每个文件的完整历史,以及每个提交、分支、标记等的元数据。

这允许您在没有与中央服务器的活动连接的情况下使用历史记录 - 实际上,git 最初设计为根本没有中央服务器,尽管实际上 Github 或 GitLab 经常用作协作的中央“事实来源”。

“接收”的对象不是正在签出以立即处理的文件,它们是该历史数据库的组成部分。这是完全正常的,不需要修复。

克隆完成后,您将看到工作副本包含您期望的 ~2000 个文件,以及一个名为“.git”的目录,这是存储其他所有内容的地方。那里也不会有 30000 个文件,因为 git 将数据库中的多个“对象”打包成优化和压缩的文件。