Hexo | (四)多机同步更新博客
Hexo博客存在一個(gè)問題:我們僅僅將博客的靜態(tài)頁面文件部署到了github遠(yuǎn)程倉庫中,而我們的站點(diǎn)源文件仍在本地存儲(chǔ)。如果存儲(chǔ)站點(diǎn)源文件的電腦系統(tǒng)崩潰了,或者我們換了其他電腦,我們便無法實(shí)時(shí)更新博客了。
如果選擇重新搭建站點(diǎn),不僅過程繁瑣,而且還需要大量時(shí)間安裝依賴、主題配置、博客優(yōu)化,極其麻煩。所以我們需要將站點(diǎn)必要文件也部署到github遠(yuǎn)程倉庫中。
我們采取的遠(yuǎn)程倉庫部署策略是:一個(gè)倉庫兩個(gè)分支。倉庫即[yourname.github.io],一個(gè)分支[master]用于托管演示頁面,一個(gè)分支[backup]用于備份Hexo博客站點(diǎn)的必要文件。
多機(jī)同步更新的前提:backup分支
Hexo博客站點(diǎn)的必要文件:
.
├── scaffolds # 文章模板
├── source # 用戶源文件:頁面,文章markdown文件
├── themes # 主題
├── .gitignore # git忽略文件信息
├── _config.yml # 站點(diǎn)配置文件
├── package.json # 已安裝插件映射表,下次只需npm install即直接安裝表中的插件
├── package-lock.json
編輯站點(diǎn)根目錄下的.gitignore文件,使Git上傳時(shí)忽略不必要的文件:
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
1.刪除themes你的主題中的.git,.github,.gitignore等git倉庫文件,只保留站點(diǎn)根目錄下的.gitignore。
2.在Hexo博客站點(diǎn)根目錄(即blog文件夾)中GitBash:
# 將blog作為一個(gè)git倉庫進(jìn)行初始化
$ git init
# 創(chuàng)建/切換hexo分支
$ git checkout -b backup
# 將文件添加到暫存區(qū)
$ git add .
# 將暫存區(qū)文件提交到本地倉庫
$ git commit -m "提交說明"
# 添加遠(yuǎn)程倉庫
$ git remote add origin https://github.com/yourname/yourname.github.io.git
# 將本地倉庫推送至遠(yuǎn)程倉庫
$ git push origin backup
多機(jī)同步更新博客
1.安裝前提
(1) 安裝Git
(2) 安裝nodejs
2.博客還原
# 克隆hexo分支到本地
$ git clone -b backup https://github.com/yourname/yourname.github.io.git
# 進(jìn)入yourname.github.io文件夾
$ cd yourname.github.io
# 安裝hexo
$ npm install hexo --save
# 安裝hexo命令行模式
$ npm install hexo-cli -g
# 安裝所有依賴,根據(jù)package.json自動(dòng)安裝之前安裝過的插件
$ npm install
3.配置網(wǎng)絡(luò)協(xié)議
(1) SSH協(xié)議,長期部署推薦SSH,一勞永逸。
①SSH秘鑰:
# 生成rsa秘鑰
$ ssh-keygen -t rsa -C "youremail@example.com"
# 進(jìn)入虛擬目錄ssh文件中
$ cd ~/.ssh
# 顯示id_rsa.pub文件內(nèi)容
$ cat id_rsa.pub
②復(fù)制秘鑰至github/coding->用戶setting->SSH keys,New SSH Key;
③驗(yàn)證是否添加成功
$ ssh -T git@github.com # 驗(yàn)證github是否添加成功
$ ssh -T git@coding.net # 驗(yàn)證coding是否添加成功
④編輯站點(diǎn)配置文件_config.yml:
deploy:
type: git
repo:
github: git@github.com:yourname/yourname.github.io.git
coding: git@git.coding.net:yourname/yourname.coding.me.git
branch: master
⑤添加遠(yuǎn)程倉庫
$ git remote add origin git@github.com:yourname/yourname.github.io.git
(2) HTTPS協(xié)議,臨時(shí)部署推薦HTTPS。
①直接編輯站點(diǎn)配置文件_config.yml:
deploy:
type: git
repo:
github: https://github.com/yourname/yourname.github.io.git
coding: https://git.coding.net/yourname/yourname.coding.me.git
branch: master
②驗(yàn)證github/coding用戶名和密碼。
③添加遠(yuǎn)程倉庫
$ git remote add origin https://github.com/yourname/yourname.github.io.git
4.正常使用
重新部署:
$ hexo clean
$ hexo g -d
上傳至hexo分支:
$ git add .
$ git commit -m "commit-message"
$ git push origin backup
總結(jié)
以上是生活随笔為你收集整理的Hexo | (四)多机同步更新博客的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kotlin学习与实践 (三)fun 函
- 下一篇: 二维码转换格式