有没有办法让
如果我使用
这里有一个类似的问题: Pull updates with git after cloned with --depth 1 如果尝试接受答案建议并使用
因此,真正减少存储库大小的唯一方法就是删除存储库并再次使用
我需要这个的原因是,当完全克隆时,仓库的大小目前约为
使用
在拉取时使用
似乎不像浅克隆那样缩小大小。
git pull
保持depth=1
,只使用最新的提交,而不是使用git clone
时的提交(如果有更新的提交)?如果我使用
git clone -b some_branch --depth=1 git_repo.git
,它会以最小的空间使用量克隆存储库,因为它删除了所有历史记录。现在,如果我需要再次更新该存储库并使用git pull
,它会拉取整个历史记录。这里有一个类似的问题: Pull updates with git after cloned with --depth 1 如果尝试接受答案建议并使用
git pull --unshallow
,然后使用git pull --depth=1
,看起来它不会像git clone --depth=1
那样减少空间。因此,真正减少存储库大小的唯一方法就是删除存储库并再次使用
depth=1
进行克隆吗?看起来有些笨重。我需要这个的原因是,当完全克隆时,仓库的大小目前约为
~3 GB
。而且有大约40个环境在使用它。所以总体来说,它占用了很多空间。通过浅层克隆,可以将其减少约5倍。
示例:
克隆此存储库分支12.0 git@github.com:odoo/odoo.git
,显示其大小约为3 GB。使用
depth=1
克隆此存储库分支12.0,显示大小为643 MB。在拉取时使用
--unshallow
,然后(如此处建议Converting git repository to shallow?):git pull --depth 1
git gc --prune=all
似乎不像浅克隆那样缩小大小。