Gitee简介

与github一样,Gitee也是一个基于 Git 的代码托管服务站。而且与github的联动非常好,可以直接通过Gitee导入Github的仓库,然后使用Gitee的仓库来git clone项目,之后再重新设置远程仓库链接,将修改push到Github上。下次又需要git clone的时候,只要确定Gitee的仓库拉取了最新修改即可。这也是我一度将Gitee称之为工具人的原因。

博主的恶趣味,工具人Gitee实锤

工具人Gitee的闭环操作

这条适用于所有被从Github上使用git clone以后极慢的速度困扰的朋友。

  1. 注册:首先肯定需要注册一个Gitee的账号
    这里我们要注意一下,账号名关系到镜像站的二级域名,也即是username.gitee.io,这点与Github page极为相似。所以记得保证用户名和个人空间网址保持一致。

  2. 导入Github项目到Gitee:
    之后我们可以在右上角找到从Github/GitLab导入仓库的选项

    支持使用Github仓库的URL(git clone 后面挂的那个)导入,如果绑定了Github账号或者GitLab账号,也可以直接导入你在Github已有的项目。

  3. 导入仓库之后,直接使用git clone+Gitee仓库的URL就可以了,这个方法和Github并无不同。

  4. git clone下来项目以后,需要重设项目远程仓库地址。

    git remote set-url origin github仓库URL

    之后照常使用git push指令即可。配合Gitee的仓库刷新,下次还是从Gitee那里clone,工具人就是这么好用。

将Hexo部署到Gitee上

  1. 首先需要在Gitee新建一个仓库来存放博客的静态页面资源,仓库名必须和你的用户名一样,比如我的用户名是Akilar,那么就建一个叫做Akilar的仓库,

  2. 然后在站点配置文件~/Blog/_config.yml的deploy配置项添加Gitee的仓库URL。
    此处建议所有的Deploy链接都使用HTTPS链接,便于之后在使用Github Action实现全自动部署时的Token配置。

  3. 运行hexo clean && hexo g && hexo d即可将静态页面部署到仓库内。
    之后还需要在Gitee的仓库内找到Gitee pages,选择存放静态页面的分支和目录之后(一般都是默认的master/目录吧),点击部署,等待部署完成后即可使用https://username.gitee.io访问了。

    2020年10月后github新建仓库默认分支改为main,gitee如果是clone过来的也可能把分支结构带过来。注意留意更改。

    值得注意的是,Gitee现在已经不提供Gitee Pages Pro服务,就算想花钱也没法开通,也就无法自动部署,需要手动点击更新。不过配合Github-action以及相应的脚本,我们依然可以实现自动更新Gitee pages。

  4. 由此,可以将这个https://username.gitee.io作为国内镜像站来使用。(结果还是工具人啊)

编写技巧

因为现在有了多线部署的需求,再加上还有Gitee这个无法自定义域名的镜像站,所以对于站内文章,我们要尽量避免使用原来的永久链接,改用站内文章引用的方式来写。
Hexo自带站内引用文章链接的tags,

{% post_link [post_name(不需要.md后缀)] [post_title(可选,若不写会使用post_name作为链接的名称)] %}
# 示例:
{% post_link 使用Gitee来提供镜像站支持 Gitee工具人 %}

镜像站跳转动作

此处提供一个我用原生js写的镜像站跳转动作。来更好的使用Gitee工具人。

function Mirror() {
let pathname;
let hostname;
let url;
pathname = window.location.pathname;
hostname = window.location.hostname;
if (hostname === 'akilar.top') {
url = "https://akilar.gitee.io" + pathname;
window.alert("即将为您跳转至镜像站");
window.location.href = url;
}
else if(hostname === 'akilar.gitee.io') {
url = "https://akilar.top" + pathname;
window.alert("当前为镜像站,即将返回主站");
window.location.href = url;
}
else {
window.alert("本地调试,拒绝跳转");
}
}

活用这个镜像站跳转方法的方案可以参考这篇教程:基于Butterfly主题的右键环形菜单

拓展内容