美文网首页半栈工程师
《Git/Gitlab进阶》十一:clone远程仓库很慢的处理

《Git/Gitlab进阶》十一:clone远程仓库很慢的处理

作者: 紫狐挽诗 | 来源:发表于2020-02-25 20:06 被阅读0次

上一篇有讲到克隆远程仓库,在 clone 时,如果每次都 clone 完整的仓库的话,随着提交的次数变多,在项目变大之后,clone 的速度会非常的慢。

所以克隆时可以设定参数 --depth 1,加快 clone 速度

-- depth代表克隆的深度,--depth 1代表只克隆最新一次提交记录以及这次提交之后的最新内容,不克隆历史提交。

这样所造成的影响就是不能查看历史提交记录,但是克隆速度大大提升。

完整命令:

git clone --branch <branch_name> <remote-address> --depth 1

查看 commit 总数,可用:

git rev-list --all --count
或者
git log --oneline | wc -l

后续补充:
注意,这里 git rev-list 查看到的提交数量,并不一定和仓库中显示的提交数一样,获取的原理不同。后者是一致的。
详细请查看官方文档关于git rev-list的说明。

查看简要显示日志,可用:

git log --all --oneline

示例,今日(2019/12/25)克隆 github 中 tensorflow 项目,深度只有 1 层,
编写本文示例测试耗时大约4 分 15 秒,其它内容如下图:

1.png

而直接 clone master 分支的全部,
编写本文示例测试耗时大约13 分 30 秒,其它内容如下图:

2.png

2019/12/26 补充,如果想看实际耗时,在 git 命令前加 time 关键词。

如果后续想看完整的历史记录,可以将浅层克隆转换为常规克隆。使用:

git pull --unshallow
或者
git fetch --unshallow

不过,这就是重新抓取了该分支所有的提交,也就不如直接一开始就拉取所有了。

使用示例(同样编写本文示例测试耗时大约13 分 30 秒):

3.png

查看当前分支所有提交者及其提交次数,按次数由高到低排序,可用:

git log | grep "^Author: " | awk '{print $2}' | sort | uniq -c | sort -k1,1nr
4.png

相关文章

  • 《Git/Gitlab进阶》十一:clone远程仓库很慢的处理

    上一篇有讲到克隆远程仓库,在 clone 时,如果每次都 clone 完整的仓库的话,随着提交的次数变多,在项目变...

  • gitlab克隆代码到本地

    1. git clone http://gitlab.XXX.com/XXX/XXX.git 克隆远程仓库到本地 ...

  • iOS git命令的使用

    创建远程仓库 git --bare clone 仓库 git clone 仓库地址 添加 .gitignore 文...

  • Git常用命令

    1、创建仓库 git clone $ git clone 克隆远程仓库到本地 git init $ git i...

  • Git常用命令大全

    // 初始化仓库 git init //从远程仓库克隆 git clone // 关联远程仓库 git remot...

  • ios git常规操作

    1.git从本地文件链接到远程仓库的方法,远程仓库为空 2.git将远程仓库clone到本地的方法 clone成功...

  • git clone

    1、git clone 的理解 git clone默认会把远程仓库整个给clone下来 ,只能clone远程库的m...

  • git 常用命令

    远程仓库相关命令 检出仓库:git clone git://github.com/xxx/xxx.git 查看远程...

  • git 版本回退

    git push 推送到远程仓库,发现大量代码错误处理方法 git clone 最新版本到本地 进入clone下来...

  • 克隆仓库

    克隆仓库:git clone 原始仓库 新仓库git remote:列出已经存在的远程分支添加跟踪远程分...

网友评论

    本文标题:《Git/Gitlab进阶》十一:clone远程仓库很慢的处理

    本文链接:https://www.haomeiwen.com/subject/hjqyfhtx.html