我有一个仓库,只有一个提交记录,检出大小为95M。 但我无法将.git文件夹的大小降至213M以下。 但是,如果我使用相同的文件内容创建新的仓库,则会得到一个只有38M的.git文件夹。
是否有一种办法可以使git重新构建其对象,使得大小更符合创建新仓库的结果?
我尝试了
我想,git必须在某个地方保留了引用,防止垃圾回收,但我不知道它们会在哪里。我已删除所有远程分支,并且在 'refs' 下除了当前分支之外,没有看到任何其他内容。
是否有一种办法可以使git重新构建其对象,使得大小更符合创建新仓库的结果?
我尝试了
git gc --prune=now --aggressive
和git repack -adf --window=250 --depth=250
来减小仓库的大小。它们将仓库大小从原来的220M缩小了。我想,git必须在某个地方保留了引用,防止垃圾回收,但我不知道它们会在哪里。我已删除所有远程分支,并且在 'refs' 下除了当前分支之外,没有看到任何其他内容。
$ ls -R .git/refs
.git/refs/:
heads tags
.git/refs/heads:
master
.git/refs/tags:
我从一个历史更长的现有仓库创建了这个仓库。我使用checkout --orphan
创建了一个新的无基础分支,然后进行了一次提交,以创建一个具有仓库状态的新提交。然后我删除了原始分支并删除了远程分支,然后运行gc
。
$ git --version
git version 1.9.4.msysgit.0
gc
命令的地方,但当时它没有提到reflog。 - vossad01