注:文中所示项目和时间均为示意,非实际对应情况。clone 译为「克隆」

首先看一下普通克隆的状态

❯ git clone [email protected]:getgridea/gridea.git
❯ Receiving objects: 100% (981452/981452), 4.29 GiB | 16.81 MiB/s, done.(一个大型项目的虚拟值)

仅克隆某一个分支: -b develop --single-branch

当从一个大型项目中执行克隆时,大部分情况下,我们只关心和使用某个分支。例如 develop 分支,则只需要克隆这一个分支即可。一定程度上减少克隆时间(这取决于远程项目分支的个数和复杂度)。另一个好处是,不用在本地选择分支时看到大量的 origin/xxx 分支。

❯ git clone -b develop --single-branch [email protected]:getgridea/gridea.git
❯ Receiving objects: 100% (585976/585976), 3.22 GiB | 10.50 MiB/s, done.(一个大型项目的虚拟值)

仅克隆最近的一次提交:--depth=1

当我们想快速阅读某项目的源码时,往往不太关心其历史提交。此时可以选择添加 --depth=1 的参数,可以大大减少克隆时间以及在本地占用的存储空间。当然,如果使用的是数据网络(如在高铁上),也将尽量避免信号差带来的影响和大大节省流量花费。

❯ git clone --depth=1 [email protected]:getgridea/gridea.git
❯ Receiving objects: 100% (25074/25074), 701.43 MiB | 15.76 MiB/s, done.(一个大型项目的虚拟值)

Enjoy~

最后更新于:
2021.04.25