机制是这样的,由于hexo d
上传部署到github的其实是hexo编译后的文件,是用来生成网页的,不包含源文件。可以看到,并没有source等源文件在内。也就是上传的是在本地目录里自动生成的.deploy_git
里面。其他文件 ,包括我们写在source 里面的,和配置文件,主题文件,都没有上传到github。所以可以利用git的分支管理,将源文件上传到github的另一个分支即可。
1.github上的设置
首先,在github上新建一个hexo分支
在这个仓库的settings中,选择默认分支为hexo分支(这样每次同步的时候就不用指定分支,比较方便)
将本地的文件上传到hexo分支
注意.gitignore中的是不用上传的
1
2
3
4
5
6
7.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
至此,我们就可以在新的终端上pull源文件,并push修改,通过hexo分支,实现同步。当然我们的hexo d
还是会部署在master分支上,这是在站点yml中声明的。
2.在deepin上配置git
1 | sudo apt install git |
在github上新建ssh key,将生成的密钥复制过去。
测试连接:
1 | ssh -T git@github.com |
3.在deepin上配置nodejs和npm
千万不要sudo apt install nodejs
,版本只有4.x且装不上npm
直接官网下载最新的二进制包,并配置bashrc。参考https://blog.csdn.net/qq_41897021/article/details/107720553
测试:
4.安装hexo
1 | npm install hexo-cli -g |
5.从github上克隆hexo分支到本地
1 | git clone git@github.com:zlr20/zlr20.github.io XXX |
6.编写完成后上传
1 | # 部署到master |
7.下次写前同步
1 | git pull |