在 Git 中,有一个命令git clone --depth=<depth>可以仅检索特定长度的历史数据。还有一个命令可以通过 use 收集更多历史数据git fetch --depth=<depth>。
当我们想从大型存储库中释放一些空间时怎么样?我知道我们可能会使用git gc或者git prune有其他特定的方式--depth=<depth>来减少本地存储库中的提交存储数量吗?并且它还应该保持 SHA1 能够继续使用它。
最简单的方法是:
git clone --depth=n /url/of/remote/repo这将克隆最后 n 次提交,同时允许 fetch/pull/psuh 仍然与远程存储库一起使用。
从 Git 2.5 开始,您可以获取单个提交,但除非该提交是最新的提交(类似于 a git clone --depth=1),否则不会允许 fetch/pull/push。
确保给定本地存储库尽可能精简的另一种方法是使用gc/prune/repack 的组合:
git gc --aggressive
git repack -Ad # kills in-pack garbage
git prune --progress # kills loose garbage
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1038 次 |
| 最近记录: |