不管是工作还是学习中,相信你经常遇到这要的窘境:执行 git clone <url>
之后,不管是因为网速还是仓库过大,等你带薪拉屎结束,命令行还是龟速前行。
这篇博客简单分享几个提速小技巧⚡️⚡️⚡️
git clone 大提速
1. 设置 proxy
如果在大陆境内,可以暴力为终端配置代理端口:
1 | export all_proxy=socks5://127.0.0.1:13659 |
2. 减小 clone 的大小
强烈推荐先阅读博主 18 年的一篇文章:《Git Internal (初探 git 的内部实现)》,了解 git 底层的数据结构:
因此绝大部分情况时候没有必要获取仓库完整的历史(所有 commit 对应的无意义文件,i.e. blob)
下面三个参数可以按需使用:
速度对比测试&说明
以 git@github.com:JetBrains/jdk8u_hotspot.git
为例,进行性能测试对比(未取平均值,仅供参考)
1 | # 1)Full clones: `gcl <url>` |
总结
日常开发推荐 2)Blobless clones,兼顾性能与信息完整性。
3)Treeless clones 仅适用于例如即用即拋的自动化单元测试,或者本地的编译打包。
⚠️ 不推荐 4)Shallow clones,存在描述信息丢失或错乱的可能,弊大于利。