为什么这个git浅克隆比我预期的要大?

kjs*_*js3 11 git

我有一个大约24MB的repo,但项目中的文件实际上只有2MB左右.我的印象是,使用--depth 1的浅层克隆几乎可以让我接近2MB的实际文件(没有整个回购).

当我做浅层克隆时,新的repo只显示当前分支但是大小相同(24MB)并且用gitx查看repo我可以看到整个历史记录回到初始提交.

我想要一种方法来获取文件的当前状态(用于上传到服务器)而没有所有历史记录.我做错了什么或只是误解了浅层克隆的目的?

Bri*_*ell 19

如果这是一个本地克隆,那么克隆可能通过新存储库中的硬链接对象与旧存储库中的对象进行操作(它将此作为本地文件系统上的优化).要查看是否是这种情况,您可以禁用硬链接:

git clone --depth 1 --no-hardlinks /path/to/repo.git
Run Code Online (Sandbox Code Playgroud)

如果您只是尝试将当前状态的文件上传到服务器,则应该使用git archive生成树的ZIP或tar存档.