发布时间:2022-11-22 20:30
参考:
https://blog.csdn.net/Y0W1as5eg37urFdS/article/details/123539994
https://www.manongdao.com/article-2342370.html
Git 是一个分布式版本控制软件,最初由 「林纳斯·托瓦兹」 创作,于 2005 年发布。最初目的是为更好地管理 Linux 内核开发。Git 在本地磁盘上就保存着所有有关当前项目的历史更新,处理速度快。Git 中的绝大多数操作都只需要访问本地文件和资源,不用实时联网。
「Git LFS」(Large File Storage - 大文件存储)是可以把⾳乐、图⽚、视频等指定的任意文件存在 Git仓库之外,而在 Git 仓库中用一个占用空间 1KB 不到的文本指针来代替的小⼯具。通过把大文件存储在 Git 仓库之外,可以减小 Git 仓库本身的体积,使克隆 Git 仓库的速度加快,也使得 Git 不会因为仓库中充满大⽂件而损失性能。
使用 Git LFS ,在默认情况下,只有当前签出的 commit 下的 LFS 对象的当前版本会被下载。此外,也可以做配置,只取由 Git LFS 管理的某些特定文件的实际内容,而对于其他由 Git LFS 管理的⽂件则只保留文件指针,从而节省带宽,加快克隆仓库的速度;也可以配置⼀次获取大文件的最近版本,从而能方便地检查大文件的近期变动。
虽然 .git 这个隐藏目录并不算在代码体积之后,但是拉代码的时候,是需要拉下来的,因为里面包含之前的提交记录等信息。这就会导致下载速度变的很慢。
├── HEAD
├── branches
├── index
├── logs
│ ├── HEAD
│ └── refs
│ └── heads
│ └── master
├── objects
│ ├── 88
│ │ └── 23efd7fa394844ef4af3c649823fa4aedefec5
│ ├── 91
│ │ └── 0fc16f5cc5a91e6712c33aed4aad2cfffccb73
│ ├── 9f
│ │ └── 4d96d5b00d98959ea9960f069585ce42b1349a
│ ├── info
│ └── pack
└── refs
├── heads
│ └── master
└── tags