git clone 提速几十倍的小技巧

git clone https://github.com/kubernetes/kubernetes –depth=1



加上 –depth 会只下载一个 commit,所以内容少了很多,速度也就上去了。



而且下载下来的内容是可以继续提交新的 commit、创建新的分支的。不影响后续开发,只是不能切换到历史 commit 和历史分支。

遇到大的 git 项目的时候,可以通过添加 –depth 参数使得速度极大提升,历史 commit 越多,下载速度提升越大。



而且下载下来的项目依然可以进行后续开发,可以创建新的 commit 和新的分支、tag,只是不能切换到历史 commit、分支、tag。



我们梳理了 git 的原理:通过 tree、blob、commit 这三个 object 来存储文件和提交信息,通过 commit 之间的关联来实现分支、标签等功能。commit 是入口,关联所有的 tree 和 blob。



我们下载了一个 commit,就是下载了他关联的所有 tree、blob,还有一些 refs (包括tag、branch 等),这就是 –depth 的原理。



希望大家在不需要切换到历史 commit 和分支的场景下可以用这个技巧来提升大项目的 git clone 速度。



https://blog.csdn.net/weixin_40906515/article/details/117719205


Category web