Hexo迁移与多端同步
Hexo迁移与多端同步
在家常用台式机写博客,但Hexo的环境搭建在笔记本上,遇到了多个设备同步的问题,网上找到了大佬的解决方法,参考整理了下。
其中涉及到一些Git操作的知识,可提前学习下能便于理解,参考廖雪峰老师的git教程。
Hexo文件目录
1 | HEXO |
其中,public/
文件夹和.deploy_git/
文件夹内容是一样的,用来存放生成的博客静态文件,.deploy_git/
文件夹是执行hexo -d
时的部署到仓库的内容,由于Hexo只是静态网页,因此上传到云端的仅为生成的静态文件,源文件及Hexo还是保留到本地的;如果想要在另一个电脑上编写博客,需要先搭建相同的环境才行。
将源文件托管到云端
根据上面的思路,我们可以把需要用到的源文件上传到云端,和静态文件区分开就可以了,也能起到云端备份的作用,其中源文件主要包括source/
、themes/
、_config.yml
、package.json
等;其实除了生成的静态文件夹public/
文件夹和.deploy_git/
文件夹,其他的都上传都可以,在博客根目录下可以看到.gitignore
文件,内容如下:
1 | .DS_Store |
上面.gitignore
文件里设置的这些文件就是我们不需要的,如果有不想同步的文件也可以在这里自己添加。
但具体要怎么做呢,我们可以在建一个仓库储存源文件,也可以在username.github.io
仓库中新建一个分支,用原来的master
分支作为博客的静态文件部分,新建一个hexo
分支来存储源文件部分。
- Gitee上将
username.github.io
仓库中新建一个分支,命名为hexo,并切换成主分支。 - 在电脑上新建一个文件夹
userfile
,进入文件夹右键打开Git Bash
,输入git clone "自己的仓库链接"
将仓库克隆到本地。 - 打开电脑的显示隐藏文件,删除
userfile
文件夹中除.git
文件夹的全部文件,.git
为隐藏文件须打开显示隐藏文件才能看到。 - 在
Git Bash
中输入git add -A
把工作区的变化(包括已删除的文件)提交到暂存区。 - 在
Git Bash
中输入git commit -m "some descrption"
将暂存区里的改动给提交到本地的版本库。 - 在
Git Bash
中输入git push origin hexo
推送本地版本到远程hexo分支。此时刷下Gitee,如果推送成功,hexo分支的文件应该已经被清空了。 - 复制
userfile
文件夹中的.git
文件夹到hexo项目根目录下。此时,hexo项目已经变成了和远程hexo分支关联的本地仓库了。userfile
文件夹就没用了,删掉即可,只是用它更新下hexo分支并获取hexo分支的描述文件。 - 在hexo项目根目录下,右键打开
Git Bash
,输入git add -A
把工作区的变化提交到暂存区。 - 在
Git Bash
中输入git commit -m "some descrption"
将暂存区里的改动给提交到本地的版本库。 - 在
Git Bash
中输入git push origin hexo
推送本地版本到远程hexo分支。此时刷下Gitee,如果推送成功,本地hexo根目录的文件应该全部同步到云端了。
至此,将本地的源文件推送到云端就完成了,接下来我们换到另一个要安装Hexo的电脑进行操作。
在新电脑上搭建Hexo环境
在上一步中,我们将原始的博客源文件保存到了云端,接下来我们在另一个电脑上将这个环境重新搭建。
新建一个要保存博客的文件夹
HexoFile
,进入文件夹右键打开Git Bash
。在
Git Bash
中输入git clone "自己的仓库链接"
将仓库文件克隆到本地。根据
packge.json
安装依赖,在Git Bash
中使用npm install
即可根据文件内容自动安装。1
2
3
4npm install #npm一键安装package.json里的所有依赖文件
npm install --dependencies #只安装package.json里的dependencies(运行依赖)文件
npm install --devDependencies #只安装package.json里的devDependencies(开发依赖)文件
npm install -g npm-check-updates #更新依赖到最新版本重新生成本地文件,并开启本地博客服务器,在
Git Bash
中输入hexo g & hexo s
。如果一切正常,此时打开浏览器输入http://localhost:4000/ 已经可以看到博客正常运行了。之后编辑博客文件,正常使用即可。
这时,已经将Hexo环境搭建到新电脑上了,但如果在两个或者多个电脑上同步操作呢?
多台电脑的同步操作
在
Git Bash
中输入git pull
,将远程hexo分支拉取到本地。修改文章后,需要先后运行一下指令
1
2
3
4git add . #将变化添加到缓存区
git commit -m "some descrption" #将暂存区里的改动给提交到本地的版本库。
git push origin hexo #推送本地版本到远程hexo分支
hexo g -d #编译本地静态文件并将静态网页推送到远程master分支