我们用Hexo写好了博客,有时候重装系统或者换了台电脑需要更新博客,就存在博客源文件怎么备份和移植的问题。网上有相关的教程,不过有一些纰漏,本文填坑。
欢迎到我的博客交流和查看更详细的内容,有问题请在那个博客上指出
备份移植思路
备份Hexo博客源文件的方法有很多,本文使用Git仓库来备份,诚然,用云盘之类的也可以…
我在Coding上建了个私有仓库存放博客的源代码
以后在新环境中只要从Coding上把整个源文件clone
下来就可以了
备份
- 删除博客根目录和主题目录下的
.git
文件夹 修改根目录下的
.gitignore
文件,ignore掉生成的静态博客文件:/.deploy_git /public
在博客根目录下执行如下命令,同步源文件到Coding私有仓库
git init git add . git commit -m "First Commit" git remote add origin https://git.coding.net/****.git git push -u origin master
移植
在新环境中,重新配置环境
- 安装Git,配置
.ssh
密钥 - 安装
Node.js
- 安装Hexo
- 用
Git Bash
选定指定的文件夹,git clone
这样,新环境中的博客源文件就和原来的一致了
填坑指南
上文的教程和网上能查找到的基本一致,但是过程中会出一些错,接下来就是填坑指南了
回车换行符警告
warning: LF will be replaced by CRLF in ...
过程中会出现一大堆这样的警告,覆盖掉了一些关键的错误信息,这是由于Windows和Linux的回车换行符不一致造成的
执行以下指令
git config --global core.autocrlf false
commit的时候出现Untracked files
按理说git add .
就应该把所有的文件都加进本地仓库的,但是还是会出现这样的错误,这时候只要一个个地把相应的文件和文件夹git add <文件名>
添加进去就可以了
添加node_modules
文件目录太深
node_modules/****: Filename too long
在Stackoverflow
上面找到了答案,这是由于Windows API限制了文件名长度为260字符造成的
执行以下指令
git config --system core.longpaths true
上传的时候RPC failed
好了,历经千辛万苦,终于要到最后一步push
了,没想到这里还有个坑…
上传的时候出现错误
error: RPC failed; result=56, HTTP code = 200| 5.00 KiB/s
fatal: The remote end hung up unexpectedlfy
导致传不上远程库
这是由于博客源文件较大,需要将postBuffer
设置大一些
执行以下指令
git config --global http.postBuffer 524288000