将Github仓库转移到码云/Gitea仓库的方法 - 实现备份或加速下载功能

将Github仓库转移到码云

原文由本人在2020年3月30日编写。本文未做修改。


Github是全球最大的开源项目及私有软件项目的代码托管平台,但在国内却只能享有如某盘一般的感人下载速度,哪个男孩不想在利用下载的时间多做一道数(zhe)学题呢?
大佬Eltrac在他的博客写了这样一篇文章《用 Cloudflare 加速 GitHub 下载》。可以通过Cloudflare workers来加速Github下载速度。对于某些没有科学上网工具的搬运工们确实是个不可多得的方法。但很多人也意识到了局限性。对,对于小白来说Worker可能玩不来(虽然大佬已经写的够详细了),但是对于一些比较大的仓库来说,可能速度也无法达到理想值。
所以,我们该如何做呢?如何又快又方便地将一个仓库下载到本地呢?

所以此刻,我们需要依赖 马云
不对,是这个码云。

说起这站,大家可能并不熟悉,码云可以算是中国版的github了,如果你经常下载源码的话,你应该对它并不陌生。毕竟并不是每个人都想受到CSDN的毒害,对吧?
下面是具体操作方法:
1.访问"https://gitee.com/"注册登录老操作。
2.登录成功后会进入“我的工作台”页面,点击菜单栏右方的"+"号,选择“从Github/Gitlab导入仓库”

3.输入Github仓库地址,如果该仓库被其他人导入过,就直接可以通过网址访问国内仓库。如果没有被导入过,就可以点击导入按钮来创建一个新仓库。

4.很快,一个克隆版的国内仓库已经准备完成了。只需要点击"克隆/下载"按钮,就能秒下了~~

当一切都OJBK后,不要忘了最重要的一步——删库跑路。没有哪位开发者想知道自己的仓库突然被挂在了一个不知名网站上(当然如果你创建的是私有仓库,可以当我没说)

补充:github仓库更新后,镜像到码云的仓库可能不会自动更新。这时候可以自己在工作台面板中更新镜像。如果长期使用也可以尝试设置定时自动更新镜像。但无论如何,都请尊重原作者的著作权。


将Github仓库转移到Gitea

什么是Gitea?

Gitea 是一款使用 Golang 编写的可自运营的代码管理工具。你可以把它理解为一个简易版的Gitlab。和Gitlab一样,它们都是独立运行在个人或企业服务器上的平台,类似于CSDN博客和独立博客的区别。但是由于Gitlab对资源的高占用(例如运行gitlab的服务器内存通常要求在4g以上),因此对于个人或小团队来讲,使用Gitea作为平替是一个比较划算的选择。

Gitea的介绍

Gitea可以直接在linux服务器上使用命令进行安装,也可以使用docker容器来进行安装。但如果网站服务器配置在宝塔面板上,可以依赖于 Gitea for Bt 插件实现简易而又快速的安装。
使用宝塔面板安装Gitea主要分为两部分:配置Gitea服务器,搭建网站并配置伪静态。配置Gitea服务器可以让Gitea在本地系统上运行。而外部设备想要通过域名进行访问,那就需要将Gitea与该域名绑定的网站联系起来,那就可以使用伪静态来实现这个目标。

在宝塔面板中配置Gitea服务器

进入宝塔面板,在软件商店中搜索 Gitea for Bt 进行安装。本插件可能会收取一定的费用。安装完成后点击设置按钮,弹出配置面板。(因为本人已经安装,因此会提示已安装)
这时候我们可以点击“选择版本安装”按钮,选择1.15.4版本进行安装。(可以安装更新版本,但是新版本的配置方法可能和本文有所出入。)
{29100CE5-26A9-4bac-96BF-04EBA0C67CDF}.png
安装完成后,点击左方侧边栏中的“配置修改”按钮,修改配置。假如我们想绑定的域名是abc.baidu.com。那么服务器域名就应该填写abc.baidu.com,对外域名就应该填写http://abc.baidu.com。(在不使用https的前提下),HTTP监听端口改为3000。下方的“允许注册”和"默认explore"可以根据个人需求更改。
{655FBDF9-1C47-4c24-A26C-B18F2B4A94B1}.png
保存后重启服务。

搭建网站并设置伪静态

在宝塔面板中新建一个网站,域名和上方填写的域名一致。打开网站设置面板,配置伪静态。在伪静态中添加下列代码。


    #设置最大为提交 500M如果推送报错Request Entity Too Large则需要修改client_max_body_size
    client_max_body_size 500m;
    location  ~*
    {
        proxy_pass http://localhost:3000;
        proxy_set_header        Host $host;
        proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr; # 设置请求源地址
            proxy_set_header X-Forwarded-Proto $scheme; # 设置Http协议
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
    }
    location /
    {
        proxy_pass http://localhost:3000;
        proxy_set_header        Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr; # 设置请求源地址
        proxy_set_header X-Forwarded-Proto $scheme; # 设置Http协议
        add_header X-Cache $upstream_cache_status;

        #Set Nginx Cache

                add_header Cache-Control no-cache;
        expires 12h;
    }

上方的 localhost:3000 中的端口号如果与上文配置不一致,请进行修改。
保存后重启网站服务器。

拷贝仓库

访问Gitea所绑定的域名,根据网站提示进行配置,配置完成后可以进入用户后台。
{0C2603A9-C049-456d-8933-A534FAE3C3BB}.png
这时候说明用户可以正常登录并且 拥有管理员权限 。这时候我们可以点击网站右上方的加号,选择“从外部仓库导入”,选择"github"并填写仓库地址,开始导入。
{117732A9-F573-4df7-92E8-9F01D5B444DE}.png
导入成功后,可以在Gitea中看到导入的仓库, 这时候可以对仓库进行下载 。并且与github类似,可以使用本地的git软件对仓库的内容进行更新。
{D523EB1B-DF80-4275-97B7-1A7592296657}.png
同时,我们也可以对镜像仓库进行其它的设置。比如设置镜像的定时更新。

请注意:设置自动更新后,原仓库的内容可能被覆盖。因此不建议对设置自动更新的仓库进行更改。


dd227642-3f7d-4336-95fe-d4e37e3b7cd8.png


其实,搭建成功后你就可以把它当作一个个人仓库使用了,如果你不喜欢使用Github的话。


而且,当你同时拥有Github/码云/Gitea账号时,你可以让一个仓库在这三个平台上互相镜像,这样可以解决当一个站点出现问题,导致数据全部丢失的问题。


打赏
文章目录