21 / 04 / 25
注:文中所示项目和时间均为示意,非实际对应情况。clone 译为「克隆」
首先看一下普通克隆的状态
❯ git clone git@github.com: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 git@github.com:getgridea/gridea.git ❯ Receiving objects: 100% (585976/585976), 3.22 GiB | 10.50 MiB/s, done.(一个大型项目的虚拟值)
--depth=1
当我们想快速阅读某项目的源码时,往往不太关心其历史提交。此时可以选择添加 --depth=1
的参数,可以大大减少克隆时间以及在本地占用的存储空间。当然,如果使用的是数据网络(如在高铁上),也将尽量避免信号差带来的影响和大大节省流量花费。
❯ git clone --depth=1 git@github.com:getgridea/gridea.git ❯ Receiving objects: 100% (25074/25074), 701.43 MiB | 15.76 MiB/s, done.(一个大型项目的虚拟值)
Enjoy~