同步-hexo

📋
同步教程,由于使用 hexo deploy部署 方法始终不成功,只好使用 git命令行部署 方法来同步。

git命令行部署方法:

步骤1.clone github repo

$ cd d:/hexo/blog
$ git clone https://github.com/username/username.github.io.git .deploy/username.github.io

将我们之前创建的repo克隆到本地,新建一个目录叫做.deploy用于存放克隆的代码。

步骤2.创建一个deploy脚本文件

hexo generate
cp -R public/* .deploy/username.github.io
cd .deploy/username.github.io
git add .
git commit -m update
git push origin master

简单解释一下,hexo generate生成public文件夹下的新内容,然后将其拷贝至username.github.io的git目录下,然后使用git commit命令提交代码到username.github.io这个repo的master branch上。

需要部署的时候,执行这段脚本就可以了(比如可以将其保存为deploy.sh)。执行过程中需要让你输入Github账户的用户名及密码,按照提示操作即可。

这个方法缺点就是每次上传都要输入用户名和密码,挺麻烦的。
找到新方法可以免输用户名和密码的了,请参考另一文章/2017/11/18/git-push-mian/

WTF

一般来说上传只需直接运行deploy.sh就可以同步了,但是我遇到过可能直接在Repositories里修改了某内容,造成了同步不成功,解决方法是先删除本地.deploy文件夹,然后再重复步骤1步骤2


clean
$ hexo clean
清除缓存文件 (db.json) 和已生成的静态文件 (public)。
在某些情况(尤其是更换主题后),如果发现您对站点的更改无论如何也不生效,您可能需要运行该命令。

End