Try   HackMD

備份 Hexo 原始檔案至 GitHub

前言

Hexo 可以快速的將編輯好的 markdown 文件轉換成靜態網頁,並發布到 GitHub 上。但 Hexo 所發布的檔案僅限於最終的 html 文件,並沒有將原本的 markdown 文件與其他設定檔上傳。如果本地端檔案損毀或遺失, GitHub 上會只剩下最後生成的靜態網頁,要再對其進行編輯或新增會是一件很麻煩的事。因此在這邊紀錄如何將 Hexo 的原始檔案備份至 GitHub,這樣即使遇到檔案損毀,也只要重新從 GitHub 上把檔案拉下來就可以快速的回復之前的狀態。

準備工作

已經建好一個 GitHub repository,且使用 Hexo 將靜態網頁發布至某 branch(此處假設為 master)。如果不確定 Hexo 靜態網頁發布的 branch,可以透過 _config.yml 查看或修改。

_config.yml

deploy:
  type: github
  repository: https://github.com/my_repo_host/my_blog.git
  branch: master

操作過程

  1. 在 Hexo 的主目錄下,初始化 Git repository,並連結到 Hexo 所在的 remote repository
git init
git remote add origin git@github.com:my_repo_host/my_blog.git
  1. 建立另一個用來備份原始檔案的 branch
git checkout -b backup
  1. 確認 .gitignore 的規則
vim .gitignore
​Hexo 會自動生成 `.gitignore`,其內容應該如下:
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
  1. 將所有檔案加入 Repository ,並推到 GitHub 上
git add .
git commit -m "First commit."
git push -u origin backup
  1. 以後新增或修改內容後,可以透過以下指令備份到 GitHub
git add .
git commit "Add or Edit something."
git push origin backup

參考資料