安小琪's blog

少年有梦,不应止于心动

本地源文件备份推送到Github 报错及解决

在我企图在github的xxx.github.io仓库新建分支对基于hexo搭建的blog通过hexo-git-backup插件进行备份时出现了以下的问题

问题出现

根据网上教程,我查看了本地hexo版本

1
hexo version

因此我使用了这条命令:

1
npm install hexo-git-backup --save

进行博客备份插件安装

同时我在github仓库建立新分支,我创建的分支名为backup

然后我在本地博客根目录的配置文件_config.yml最下方加入以下内容

1
2
3
4
5
6
7
# backup
backup:
type: git
theme: next-reloaded
message: Back up my www.npfs06.top blog
repository:
github: https://github.com/xxxx/xxxx.github.io.git,backup

theme 是主题名
message 是自定义信息
branchName 是分支名,用英文逗号和仓库名隔开备份

但是在我进行最后一步 hexo b的时候,问题出现了

解决方案

我在node_modules/hexo-git-backup/git.js 文件中加入一行以显示执行的命令 (行77)

再次运行hexo b得到报错信息如下

以此可见错误原因。

为解决此问题,我做了如下的改动

我在node_modules/hexo-git-backup/git.js 文件中,将这一行(行135)

commands.push([‘push’, ‘-u’, t, ‘master:’ + repo[t].branch, ‘–force’]);
改成
commands.push([‘push’, ‘-u’, t, ‘backup:’ + repo[t].branch, ‘–force’]);

然后在博客根目录配置文件_config.yml中将github 更改为origin

1
2
3
4
5
6
7
# backup
backup:
type: git
theme: next-reloaded
message: Back up my www.npfs06.top blog
repository:
origin: https://github.com/xxxx/xxxx.github.io.git,backup

重新运行hexo b

问题解决!