depth=1解决git克隆过慢

1,378 阅读1分钟

大家感受过使用git克隆项目时,克隆了三个多小时吗? 我感受过。。。悲伤是那么大(;´༎ຶД༎ຶ`)

我觉得不是我的问题,所以向前辈发出灵魂拷问:为啥我克隆了三个小时项目都不能克隆完?有木有快点的办法?

最终!利用在git clone语句最后面加depth=1 解决了!

depth用于指定克隆深度,为1即表示只克隆最近一次commit.

也就是这样

git clone https://github.com/xxxx.git --depth=1

这种方法克隆的项目只包含最近的一次commit的一个分支,体积很小,可以解决克隆太慢或者是项目过大导致的停止问题。

但这会产生另外一个问题,它只会把默认分支clone下来(一般就是master) 嗯,就像下图,本人亲自又踩进去的坑。

image.png

其他远程分支并不在本地。

如果我们想只克隆某个指定分支的最近一次commit,可以使用下面命令

git clone --depth 1  --branch 分支名称 https://github.com/xxxx.git

如果我们想把其他远程分支(如master)也克隆到本地,可以使用下面的命令

git clone --depth 1 https://github.com/dogescript/xxxxxxx.git
git remote set-branches origin 分支名称
git fetch --depth 1 origin 分支名称
git checkout 分支名称

当然如果你的项目需要频繁切换分支的话,还是老老实实全部克隆吧,跑不掉的~