我有一个 git 项目,但问题是目录“.git”太大了。事实上,我的整个项目是 3MB,但“.git”是 36MB。为什么这么大?我怎样才能清洁它?
请记住,每次提交时,提交中每个更改的文件都会占用存储库中的空间。即使更改本身只是一个字母,整个文件也至少存在两次(更改前和更改后)。整个历史记录,每次提交中每个文件的状态,即使该文件在您工作的分支的末尾不再明显“存在”,都在 repo 中!
假设您有一个 1MB jpg 图像,并且您对其进行了 36 次更改并每次都提交。宾果游戏,存储库中有(至少)36MB。如果你现在删除那个 jpg 图像并提交,repo 不会因此变小。
我故意使用 jpg 作为我的例子;通常是二进制文件占用了大量空间。Git 可以为文本文件节省一些空间,但它不能在二进制文件中做到这一点。
话虽如此,但我也应该说:36MB 并不大。它相当大,但对于具有悠久历史的大型项目来说,存储库的大小并不是典型的。