Hexo博客备份移植填坑记

我们用Hexo写好了博客,有时候重装系统或者换了台电脑需要更新博客,就存在博客源文件怎么备份和移植的问题。网上有相关的教程,不过有一些纰漏,本文填坑,来自https://www.hsli.top

备份移植思路

备份Hexo博客源文件的方法有很多,本文使用Git仓库来备份,诚然,用云盘之类的也可以…

我在Coding上建了个私有仓库存放博客的源代码

以后在新环境中只要从Coding上把整个源文件clone下来就可以了

备份

  • 删除博客根目录和主题目录下的.git文件夹
  • 修改根目录下的.gitignore文件,ignore掉生成的静态博客文件:

    1
    2
    /.deploy_git
    /public
  • 在博客根目录下执行如下命令,同步源文件到Coding私有仓库

    1
    2
    3
    4
    5
    6
    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

这样,新环境中的博客源文件就和原来的一致了

填坑指南

上文的教程和网上能查找到的基本一致,但是过程中会出一些错,接下来就是填坑指南了

回车换行符警告

1
warning: LF will be replaced by CRLF in ...

过程中会出现一大堆这样的警告,覆盖掉了一些关键的错误信息,这是由于Windows和Linux的回车换行符不一致造成的

执行以下指令

1
git config --global core.autocrlf false

commit的时候出现Untracked files

这里写图片描述

按理说git add .就应该把所有的文件都加进本地仓库的,但是还是会出现这样的错误,这时候只要一个个地把相应的文件和文件夹git add <文件名>添加进去就可以了

添加node_modules文件目录太深

1
node_modules/****: Filename too long

Stackoverflow上面找到了答案,这是由于Windows API限制了文件名长度为260字符造成的

执行以下指令

1
git config --system core.longpaths true

上传的时候RPC failed

好了,历经千辛万苦,终于要到最后一步push了,没想到这里还有个坑…

上传的时候出现错误

1
2
error: RPC failed; result=56, HTTP code = 200| 5.00 KiB/s
fatal: The remote end hung up unexpectedlfy

导致传不上远程库

这是由于博客源文件较大,需要将postBuffer设置大一些

执行以下指令

1
git config --global http.postBuffer 524288000

如果文章有用,请随意打赏