gitclonedepth的简单介绍

http://www.itjxue.com  2023-01-16 02:39  来源:未知  点击次数: 

git clone --depth=1 的用法

在github或gitlab克隆项目时,因项目太大git clone会报错,如下:

解决的办法为:

--depth 用来指定克隆的深度,1表示克隆最近的一次commit。

这种方法克隆的项目只包含最近的一次commit的一个分支,体积很小。

需要将该分支所有的commit克隆下来的话,可以用下面的命令:

但会产生另外一个问题,他只会把默认分支clone下来,其他远程分支并不在本地,所以这种情况下,需要用如下方法拉取其他分支:

git 项目过大问题解决

当项目过大时,git clone时会出现error: RPC failed; HTTP curl The requested URL returned error: Gateway Time-out的问题

解决方法很简单,在git clone时加上--depth=1即可解决

克隆的项目只包含最近的一次commit的一个分支,体积很小,即可解决文章开头提到的项目过大导致Timeout的问题,但会产生另外一个问题,他只会把默认分支clone下来,其他远程分支并不在本地,所以这种情况下,需要用如下方法拉取其他分支:

$ git clone --depth=1?

$ git remote set-branches origin 'remote_branch_name'

$ git fetch --depth=1? origin remote_branch_name

$ git checkout remote_branch_name

Git 浅克隆

如果远程仓库太大,克隆会非常耗时,有时候甚至会报错。

git clone 时增加 --depth 参数,进行浅克隆,只克隆指定数量的历史记录。

git clone --depth=1 代表只克隆最近一次 commit 的分支

也可直接用命令修改: git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"

git clone --depth 1后无法获取远端分支

在git clone拉取一个较大的项目时,有时会遇到以下报错

经过多处资料查询,会找到以下解决办法:

然后这样虽然可以成功,但会发现无法看到远端分支。下面是解决办法

这时在sourcetree中抓取远端更新就可以看到所有远端分支了。

(责任编辑:IT教学网)

更多

推荐FTP服务器文章