Hexo 部署到 github 上的博客是通过 hexo g 编译后生成的文件,用于生成网页的,而不是 Hexo 博客的源文件,其部署的文件在本地的 .deploy_git 文件夹下,而博客的配置文件、主题文件等内容都没有上传到 github。
目录
1. 生成一个 Gitee 用的 SSH-Key
2. 配置 SSH-Key 密钥
2.1 用记事本打开 gitee_id_rsa.pub 文件,在 Gitee 上找到公钥, 复制 gitee_id_rsa.pub 中内容
2.2 在 ~/.ssh 目录下新建一个config文件,添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)
2.3 测试密钥是否链接成功
4.?.git?文件夹设置
4.1 在之前 Hexo 目录下,可能存在一个隐藏的?.git?文件夹,需要先打开隐藏文件可见进行查找,如果有,先删除
4.2 新建一个空的文件夹,将刚在新建的 Gitee 仓库克隆下来,然后把文件夹中的.git?文件复制到 Hexo 文件夹下,并删除新建的空文件夹
5. 创建.gitignore?文件,忽略不用上传的文件
6. 备份 Hexo 文件
7. 恢复博客
7.1 克隆 Gitee 上的博客文件到本地
7.2 搭建 hexo 博客
7.3 部署博客
下面通过 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
|