github 大项目断点续传

背景

某天打开github想要clone一个比较大的项目,大概1.5个G 结果发现总是会在中途中断,然后从0开始,每次都手动去弄麻烦的要死。守在电脑前守了半个多小时,发现根本clone不下来! 离谱。

解决办法

1 总体流程

总体来说 比较好用的从github上gitclone大项目的流程是这样

  1. 新建目录, 命令行进入目录,执行 git init

  2. 命令行执行: git fetch [项目地址]

  3. 若断掉后,重复执行步骤2, 直到完成下载

  4. 命令行执行 git checkout FETCH_HEAD

  5. 命令行执行 git remote add origin [项目地址]

  6. 命令行执行 git pull origin master

  7. 命令行执行 git checkout master

  8. git pull

2 通过脚本

在执行第二步 git fetch 的时候 ,其实也是会频繁中断的,跟gitclone中断的频率差不多,但是貌似这一步会有缓存?? 我不清楚哦
通过这个脚本 可以不停的fetch 直到结束。

#!/bin/bash
set -x

num=1
while [ $num -le 2000 ]; do
   git fetch https://github.com/xxx.git
   if [ $? -ne 0 ]; then
       num=$(($num+1))
   else
       break
   fi
done

最终解决方案

如果有兴趣 可以使用这个脚本

#!/bin/bash
set -x

# 从命令行获取项目URL和分支名称
PROJECT_URL=$1
BRANCH_NAME=${2:-master}

# 从URL中提取项目名称
PROJECT_NAME=$(basename -s .git $PROJECT_URL)

# 新建目录并进入
mkdir $PROJECT_NAME && cd $PROJECT_NAME

# 初始化Git仓库
git init

# 设置重试次数
RETRY_LIMIT=2000

# 开始fetch操作
num=1
while [ $num -le $RETRY_LIMIT ]; do
   git fetch $PROJECT_URL
   if [ $? -ne 0 ]; then
       echo "Fetch failed, retrying ($num/$RETRY_LIMIT)..."
       num=$(($num+1))
   else
       echo "Fetch succeeded."
       break
   fi
done

# 如果fetch成功,继续执行后续步骤
if [ $num -le $RETRY_LIMIT ]; then
    # 切换到FETCH_HEAD
    git checkout FETCH_HEAD

    # 添加远程仓库
    git remote add origin $PROJECT_URL

    # 拉取指定分支
    git pull origin $BRANCH_NAME

    # 检查是否需要再次拉取
    git checkout $BRANCH_NAME
    git pull
else
    echo "Failed to fetch project after $RETRY_LIMIT attempts."
fi

openai生成的代码,,,比我写的好多了😓

使用方式

bash clone_project.sh https://github.com/username/project.git main

后面两个参数分别是项目地址 目标分支

相关推荐

  1. github 项目断点

    2024-05-10 07:08:08       9 阅读
  2. 断点功能

    2024-05-10 07:08:08       38 阅读
  3. Android Okhttp断点

    2024-05-10 07:08:08       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-10 07:08:08       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-10 07:08:08       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-10 07:08:08       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-10 07:08:08       18 阅读

热门阅读

  1. android 手机和平板如何适配

    2024-05-10 07:08:08       11 阅读
  2. Github 学习使用随手记

    2024-05-10 07:08:08       10 阅读
  3. 【Web漏洞指南】DOM XSS

    2024-05-10 07:08:08       7 阅读
  4. 基于STM32的宠物箱温度湿度监控系统毕业设计

    2024-05-10 07:08:08       11 阅读
  5. WEB基础--数据库事务与连接池

    2024-05-10 07:08:08       7 阅读
  6. day07-缓存套餐

    2024-05-10 07:08:08       10 阅读
  7. C++ QT设计模式:状态模式

    2024-05-10 07:08:08       9 阅读
  8. 设计模式——解释器模式(Interpreter)

    2024-05-10 07:08:08       9 阅读
  9. 养成类游戏原理分析。

    2024-05-10 07:08:08       11 阅读