使用hexo和git實現多地更新和配置博客源文件

使用hexo寫博客的一個問題就是源文件都是在本地的,如果換了電腦需要更新博客時就會比較麻煩。目前,覺得比較靠譜的辦法就是用github來管理了。

  • 主要的思路是 利用git分支實現
  • hexo生成的靜態博客文件默認放在master分支上。
  • hexo的源文件(部署環境文件)可以都放在hexo分支上(可以新創建一個hexo分支),換新電腦時,直接git clone hexo分支

一、hexo搭建博客原理

  • hexo幫助把博客發送到github,同時把md文件轉換成網頁文件。
  • hexo目錄下的文件和github上的文件是不同的,public文件夾的文件通過hexo d 上傳到github去了,其他的文件則留在本地目錄下。

二、搭建hexo服務器端電腦設置

1.準備工作

首先確保自己已經使用hexo在github搭建好了自己的個人博客。

2.對username.github.io倉庫新建hexo分支,並克隆

  • 在Github的username.github.io倉庫上新建一個xxx分支,並切換到該分支,並在該倉庫->Settings->Branches->Default branch中將默認分支設爲xxx,save保存;然後將該倉庫克隆到本地,進入該username.github.io文件目錄。

完成上面步驟後,在當前目錄使用Git Bash執行git branch命令查看當前所在分支,應爲新建的分支xxx:

3.將本地博客的部署文件拷貝進username.github.io文件目錄

  • 如題,先將本地博客的部署文件(Hexo目錄下的全部文件)全部拷貝進username.github.io文件目錄中去。

接下來,進入username.github.io文件目錄下,將該目錄下的全部文件提交到xxx分支,提交之前需注意:

  • 將themes目錄以內中的主題的.git目錄刪除(如果有),因爲一個git倉庫中不能包含另一個git倉庫,提交主題文件夾會失敗。
  • 可能有人會問,刪除了themes目錄中的.git不就不能git pull更新主題了嗎,很簡單,需要更新主題時在另一個地方git clone下來該主題的最新版本,然後將內容拷到當前主題目錄即可。

4.提交hexo分支

  • 執行git add .、git commit -m ‘back up hexo files’(引號內容可改)、git push即可將博客的hexo部署環境提交到GitHub個人倉庫的xxx分支。

現在可以在GitHub上的username.github.io倉庫看到兩個分支的差異了。
master分支和xxx分支各自保存着一個版本,master分支用於保存博客靜態資源,提供博客頁面供人訪問;xxx分支用於備份博客部署文件,供自己維護更新,兩者在一個GitHub倉庫內互不衝突。

三、其他任何一臺電腦

至此,你的博客已經可以在其他電腦上進行同步的維護和更新了,方法很簡單:

  • 將新電腦的生成的ssh key添加到GitHub賬戶上
  • 在新電腦上克隆username.github.io倉庫的xxx分支到本地,此時本地git倉庫處於xxx分支
  • 切換到username.github.io目錄,執行npm install(由於倉庫有一個.gitignore文件,裏面默認是忽略掉 node_modules文件夾的,也就是說倉庫的hexo分支並沒有存儲該目錄[也不需要],所以需要install下)
  • 到這裏了就可以開始在自己的電腦上寫博客了!

編輯、撰寫文章或其他博客更新改動:

  • 依次執行git add .、git commit -m ‘back up hexo files’(引號內容可改)、git push指令,保證xxx分支版本最新
  • 執行hexo d -g指令(在此之前,有時可能需要執行hexo clean),完成後就會發現,最新改動已經更新到master分支了,兩個分支互不干擾!

四、回到hexo服務器端電腦更新並提交博客

注意: 每次換電腦進行博客更新時,不管上次在其他電腦有沒有更新,最好先git pull

  • 按照之前的方法寫自己博客

  • 然後將目錄切換下username.github.io下,此時需要安裝一下npm install, 最後執行hexo g、hexo s、hexo d等命令即可提交成功.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章