我們用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