我认为
在运行
git lfs migrate
会重写存储库的历史记录,以便将指定的大文件保存在LFS中。这意味着存储库应该变得更小,因为它不直接包含所有大文件的版本。但是,当我运行以下命令时:git lfs migrate import --include="test-data/**" --include-ref=refs/heads/master
,test-data/
目录中的所有文件都被替换为类似于这样的文件:{{...}}version https://git-lfs.github.com/spec/v1
oid sha256:5853b5a2a95eaca53865df996aee1d911866f754e6089c2fe68875459f44dc55
size 19993296
而 .git 文件夹的大小增加了一倍(从400MB到800MB)。我很困惑。git lfs migrate
在做什么?
编辑:我已经清理迁移后的内容。
git reflog expire --expire-unreachable=now --all
git gc --prune=now
在运行
du
命令之前,大部分空间被这些文件夹占用:
414M .git/objects 398M .git/lfs