写在前面
hexo生成博客提交的是渲染之后的html文件,并不是源码,本文主要描述如何实现hexo多终端源码同步,使用到的工具是“git
”,文章可能还有很多不足,请大家谅解,欢迎大佬提意见。
本文使用的东西
- win10电脑
- hexo4.1.1
- git2.24.0
1.方法介绍
多终端管理的原理:把博客源码提交到GitHub存储库,使用git进行不同终端的本地库同步。
有两种不同的方法:
- 创建仓库:需要在GitHub上创建一个用于存储源码的库,建议最好选择“
private
”不要公开,除非你博客的所有内容打算完全公开。 - 创建分支:不新建仓库,将源码放在博客界面所在的仓库的另一个分支中。
我采用创建仓库的方法,创建了一个“blog_source
”存储库。
2.创建仓库方法
- 打开博客目录,目录下有一个“
.gitignore
”文件,没有就自己创建一个,该文件用于忽略指定的文件不进行同步,根据你的要求进行配置。我的配置内容如下:
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
- 右键打开“git”,依次输入以下命令进行本地仓库与远程仓库对接
# 初始化本地仓库
git init
# 本地仓库和GitHub远程仓库对接
# nineya/blog_source.git修改为准备用于存放源码的仓库名
git remote add origin git@github.com:nineya/blog_source.git
# 查看远程仓库地址,验证配置是否正确
git remote -v
3.提交数据到远程仓库
# 同步远程库上的数据,否则无法提交
git pull origin master --allow-unrelated-histories
# 将所有文件添加到本地仓库
git add -A
# 提交到远程仓库
git commit -m "博客源文件"
git push
3.创建分支方法
- 这一步是一样的,打开博客目录,目录下有一个“
.gitignore
”文件,没有就自己创建一个,该文件用于忽略指定的文件不进行同步,根据你的要求进行配置。我的配置内容如下:
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
- 右键打开“git”,依次输入以下命令进行本地仓库与远程仓库对接
# 初始化本地仓库
git init
# 本地仓库和GitHub远程仓库对接
# nineya/blog_source.git修改为博客界面所在仓库名
git remote add origin git@github.com:nineya/nineya.github.io.git
# 查看远程仓库地址,验证配置是否正确
git remote -v
# 新建分支blog_source
git branch blog_source
# 切换到blog_source分支
git checkout blog_source
3.提交数据到远程仓库
# 同步远程库上的数据,否则无法提交
git pull
# 将所有文件添加到本地仓库
git add -A
# 提交到远程仓库
git commit -m "博客源文件"
git push
4.新电脑同步
在新电脑上安装好git、nodejs和hexo,只要输入以下命令同步即可
# 克隆博客源码
git clone git@github.com:nineya/blog_source.git blog
# 打开博客根目录
cd blog
# 安装依赖
npm install
5.出错
5.1fatal: refusing to merge unrelated histories错误
出现该错误的原因是项目中文件的创建时间早于仓库创建的时间,在你的命令之后添加--allow-unrelated-histories
这段内容即可。
示例:
git pull origin master
# 改为
git pull origin master --allow-unrelated-histories
git push origin master
# 改为
git push origin master --allow-unrelated-histories
5.2There is no tracking information for the current branch错误
输入提示上的内容即可解决,示例如下:
git pull origin master
或
git branch --set-upstream-to=origin/master master
git pull
总结
静态博客发表文章等都比较繁琐,本人在实际使用中,该方法更多作为保存博客源码的一种方式,异地写博客直接保存“.md
”文件,回到电脑面前再提交博文。有不清楚的地方欢迎评论留言,看到的我都会回复的。本文到此结束,有什么不足的地方请大家不吝指正。