Hexo 部署到 github 上的博客是通过 hexo g
编译后生成的文件,用于生成网页的,而不是 Hexo 博客的源文件,其部署的文件在本地的 .deploy_git
文件夹下,而博客的配置文件、主题文件等内容都没有上传到 github。
目录
2.1 用记事本打开 gitee_id_rsa.pub 文件,在 Gitee 上找到公钥, 复制 gitee_id_rsa.pub 中内容
2.2 在 ~/.ssh 目录下新建一个config文件,添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)
4.1 在之前 Hexo 目录下,可能存在一个隐藏的 .git 文件夹,需要先打开隐藏文件可见进行查找,如果有,先删除
4.2 新建一个空的文件夹,将刚在新建的 Gitee 仓库克隆下来,然后把文件夹中的.git 文件复制到 Hexo 文件夹下,并删除新建的空文件夹
下面通过 Gitee 备份 Hexo 博客,而部署的 NexT 主题博客仍在 Github 上,两者互不干扰。
1. 生成一个 Gitee 用的 SSH-Key
输入以下命令,生成一个密钥文件
ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/gitee_id_rsa
2. 配置 SSH-Key 密钥
2.1 用记事本打开 gitee_id_rsa.pub
文件,在 Gitee 上找到公钥, 复制 gitee_id_rsa.pub
中内容
2.2 在 ~/.ssh
目录下新建一个config
文件,添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile
指定私钥的路径)
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
2.3 测试密钥是否链接成功
ssh -T [公钥的标题]@gitee.com
链接成功后会返回 You've successfully authenticated
等内容
4. .git
文件夹设置
4.1 在之前 Hexo 目录下,可能存在一个隐藏的 .git
文件夹,需要先打开隐藏文件可见进行查找,如果有,先删除
4.2 新建一个空的文件夹,将刚在新建的 Gitee 仓库克隆下来,然后把文件夹中的.git
文件复制到 Hexo 文件夹下,并删除新建的空文件夹
注意:克隆的时候选择 ssh
的链接,如下所示
git clone git@gitee.com:zengfanyongcn/hexobackup.git
git@gitee.com:zengfanyongcn/hexobackup.git
是自己新建的 Gitee 仓库 SSH
5. 创建.gitignore
文件,忽略不用上传的文件
如果在 Hexo 文件夹下有 .gitignore
文件,则不用创立,否则,新建一个 .gitignore
文件,忽略一些不需要上传的文件
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
注意:在主题文件中有克隆时保存的 .git
文件,应该删除,应该 git 不能嵌套上传。
6. 备份 Hexo 文件
在 Hexo 文件夹的根目录下,执行以下代码:
git add .
:暂存当前路径下所有文件
git commit -m '注释'
:提交暂存文件到仓库
git push -u origin master
:推送本地文件到 Gitee 上
每次备份前,先把 Hexo 的缓存文件删除
hexo clean
:删除缓存文件
然后备份
git add .
git commit -m '注释'
git push
最后生成网站的静态文件,部署到 Github上
hexo g
hexo d
7. 恢复博客
7.1 克隆 Gitee 上的博客文件到本地
git clone [博客备份链接]
7.2 搭建 hexo 博客
npm install hexo-cli
npm install
npm install hexo-deployer-git
7.3 部署博客
hexo clean
hexo g
hexo d