当前位置:   article > 正文

github 大项目断点续传_git clone断点续传

git clone断点续传

背景

某天打开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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

最终解决方案

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

#!/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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50

openai生成的代码,,,比我写的好多了声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/840225

推荐阅读
相关标签