我正在尝试使用 git 在网站上实现一个新的备份系统。虚拟专用服务器共有 20GB 空间,其中 5GB 可用。
当我在 /var/www
运行 git add .
时(使用我最喜欢的 .gitignore
参数)我有一个巨大的 git 文件夹使我的硬盘容量达到极限。
目前还不清楚为什么会发生这种情况,因为我希望 .git
目录包含有关位的位(元信息)而不是我所有文件的二进制副本!
这是怎么回事?如果我的网站是 14GB,.git
目录会额外占用 14GB 吗?
最佳答案
使用的空间等于 GIT_DIR + GIT_WORK_TREE
If my website is 14GB will the .git directory occupy an additional 14 gb?
为了极大地简化案例,是的。在非裸存储库中,Git 将所有跟踪的文件 blob 以及其他存储库对象(例如树和提交)存储在 GIT_DIR 下。它还在 GIT_WORK_TREE 中维护副本。
存储库使用 packfiles 和 deltification 来防止这种情况在正常用例中失控,但如果您在非裸存储库中有 14GB 以上的数据——尤其是如果这些文件中有很多是二进制的 Assets ——那么您很可能会加倍(或更糟)磁盘使用量。
关于git - git 会复制我所有的文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11605290/