共计 1505 个字符,预计需要花费 4 分钟才能阅读完成。
Hexo 博客多端同步问题
搭完博客,发现只有公司电脑上有源文件,如果回家就没发继续更新博客了。也不能拿着 U 盘到处拷贝。所以就把博客源文件放到 github 上解决同步问题。
博客源文件同步
在博客根目录执行
git init
git remote add origin git@github.com:lanpangzhi/lanpangzhi.github.io.git # 添加远程仓库 注意这里要添加你自己的仓库 lanpangzhi 换成你自己的用户名
git checkout -b hexo # 新建 hexo 分支并切换到 hexo 分支
git add . # 所有变化提交到暂存区
git commit -m "解决同步问题" # 提交文件
git push origin hexo # 推送 hexo 分支
这就成功了,github 上已经有博客的源文件了。
推荐把 hexo 设置为默认分支。
git submodule 实现第三方主题同步
因为之前是直接把第三方主题克隆到博客目录,有什么改动是无法推送到作者 Git 仓库的,这个时候需要把第三方主题的项目 Fork 到自己仓库,自己账号下生成一个同名的仓库,并对应一个 url,我们应该 git clone 自己账号下仓库的 url。
执行如下操作。
git submodule add git@github.com:lanpangzhi/hexo-theme-next.git themes/next
把自己仓库下面第三方主题添加到 Git 子模块, 注 : themes/next 这里的目录是因为我用的 next 主题才会写 themes/next 如果你用的不是 next 请把 next 替换成你的第三方主题文件夹名字。
博客的根目录会多一个.gitmodules 文件, 这是一个配置文件,保存了项目 URL 和你拉取到的本地子目录。
这就添加成功了,然后执行如下操作。
git add . # 所有变化提交到暂存区
git commit -m "添加第三方主题 Git 子模块" # 提交文件
git push origin hexo # 推送 hexo 分支
更换电脑同步博客和第三方主题
同步博客
电脑上一定要先 node 和 git,执行如下操作。
npm install hexo-cli -g # 先安装 hexo 的脚手架
git clone git@github.com:lanpangzhi/lanpangzhi.github.io.git # 下载项目,因为 hexo 是默认分支,所以这里直接会下载 hexo 分支
npm i # 安装依赖
hexo s # 启动服务器
剩下的就自行操作了。博客已经完成了同步。
注:每次写完文章部署网站后,记得再执行如下操作。
git add . # 所有变化提交到暂存区
git commit -m "新增 xxx 文章" # 提交文件
git push origin hexo # 推送 hexo 分支
同步第三方主题
在博客根目录执行如下操作。
git submodule init # 初始化本地配置文件
git submodule update # 拉取子模块
如果第三方主题有修改的,修改完成后在第三方主题目录执行。
git add . # 所有变化提交到暂存区
git commit -m "修改主题 xxxx" # 提交文件
git push origin master # 推送 master 分支
这样就会把修改的主题推送到自己的仓库。
这样就实现多端同步了。
我的博客和 github 地址
http://blog.langpz.com
https://github.com/lanpangzhi
参考
http://devtian.me/2015/03/17/blog-sync-solution
https://git-scm.com/book/zh/v1/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97