21 / 04 / 25

两个 git clone 小技巧

`-b develop --single-branch` 和 `--depth=1`

注:文中所示项目和时间均为示意,非实际对应情况。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~

Powered by Gridea