利用Hexo在多臺電腦上提交和更新github pages博客

最初是在實驗室里建立了自己的博客,然后有時候回到寢室里想提交博客,于是在網(wǎng)上搜了很多帖子總結(jié)出這個方法。

主要的思路是 利用git分支實現(xiàn)

hexo生成的靜態(tài)博客文件默認(rèn)放在master分支上。
hexo的源文件(部署環(huán)境文件)可以都放在hexo分支上(可以新創(chuàng)建一個hexo分支),換新電腦時,直接git clone hexo分支git@github.com:Michaeljian/Michaeljian.github.io.git)即可。

一、hexo搭建博客原理

hexo博客的部署環(huán)境目錄:


image.png

hexo博客的目錄結(jié)構(gòu)解析:


image.png

上傳到github上的文件:
image.png

1.hexo幫助把博客發(fā)送到github,同時把md文件轉(zhuǎn)換成網(wǎng)頁文件。
2.hexo目錄下的文件和github上的文件是不同的,public文件夾的文件通過hexo d 上傳到github去了,其他的文件則留在本地目錄下。

二、實驗室PC上的操作

1.準(zhǔn)備工作

首先確保自己已經(jīng)使用hexo在github搭建好了自己的個人博客,github倉庫中如下圖顯示:

image.png

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

在Github的username.github.io倉庫上新建一個xxx分支,并切換到該分支,并在該倉庫->Settings->Branches->Default branch中將默認(rèn)分支設(shè)為xxx,save保存;然后將該倉庫克隆到本地,進(jìn)入該username.github.io文件目錄。


image.png

image.png

完成上面步驟后,在當(dāng)前目錄使用Git Bash執(zhí)行git branch命令查看當(dāng)前所在分支,應(yīng)為新建的分支xxx:

$ git branch
*hexo
hexo.png

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

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

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

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

4.提交hexo分支

執(zhí)行git add .git commit -m 'back up hexo files'(引號內(nèi)容可改)、git push即可將博客的hexo部署環(huán)境提交到GitHub個人倉庫的xxx分支。

現(xiàn)在可以在GitHub上的username.github.io倉庫看到兩個分支的差異了。

image.png
image.png

master分支和xxx分支各自保存著一個版本,master分支用于保存博客靜態(tài)資源,提供博客頁面供人訪問;xxx分支用于備份博客部署文件,供自己維護(hù)更新,兩者在一個GitHub倉庫內(nèi)互不沖突,完美!

三、宿舍自己的電腦

至此,你的博客已經(jīng)可以在其他電腦上進(jìn)行同步的維護(hù)和更新了,方法很簡單:

  • 將新電腦的生成的ssh key添加到GitHub賬戶上
  • 在新電腦上克隆username.github.io倉庫的xxx分支到本地,此時本地git倉庫處于xxx分支
  • 切換到username.github.io目錄,執(zhí)行npm install(由于倉庫有一個.gitignore文件,里面默認(rèn)是忽略掉 node_modules文件夾的,也就是說倉庫的hexo分支并沒有存儲該目錄[也不需要],所以需要install下)
image.png

到這里了就可以開始在自己的電腦上寫博客了!

  • 編輯、撰寫文章或其他博客更新改動
  • 依次執(zhí)行git add .git commit -m 'back up hexo files'(引號內(nèi)容可改)、git push指令,保證xxx分支版本最新
  • 執(zhí)行hexo d -g指令(在此之前,有時可能需要執(zhí)行hexo clean),完成后就會發(fā)現(xiàn),最新改動已經(jīng)更新到master分支了,兩個分支互不干擾!

四、回到實驗室PC更新并提交博客

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

image.png

按照之前的方法寫自己博客,
然后將目錄切換下username.github.io下,此時需要安裝一下npm install
最后執(zhí)行hexo ghexo shexo d等命令即可提交成功

參考資料:
Erick
[theqwang'blog]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容