EasyNVR、EasyDSS等平台需要使用govendor进行代码的项目管理,解决部分代码上的问题,对研发人员来说,govendor是一个非常好用的工具,但是其仓库普遍较大。我们在拷贝EasyDSS代码仓库时发现,用Git克隆大型仓库会出现错误early EOF,无法拷贝。
如果使用浅层次拷贝仓库会出现无法显示远程其他分支的情况,但是实际远程有多个分支。
实际远程:
解决该问题我们需要对分支进行整体拉取,操作方式是首先浅层克隆代码库拉到本地,再将当前分支整拉取,然后追踪远程的所有分支,最后拉取远程所有分支。
$ git fetch --unshallow # 拉取完整当前分支
$ git remote set-branches origin '*' # 追踪所有远程分支
$ git fetch -v # 拉取所有远程分支
这样就能将远程代码完整地克隆到本地了。