1. 程式人生 > >如何在mac和Windows上同時寫hexo部落格?

如何在mac和Windows上同時寫hexo部落格?

首先,我是在公司上的windows機器上部署了hexo,但是回家後發現很不方便,家裡的電腦是mac機。所以根據網上的經驗我總結了一下如何在mac和Windows上同時寫hexo部落格。

Windows機器

在github上新建遠端倉庫

將原來的page專案刪除,新建一個和原來名字一樣的空專案。不用初始README.md
此時只有一個空的master分支。

 

本地初始化一個Hexo專案

注意:本地的目錄不要動

重新新建一個空目錄,作為你的部落格目錄。進入該目錄,右擊Git bash here,初始化一個Hexo專案:

hexo init
npm install
npm install hexo-deployer-git --save

然後用自己原來部落格裡的檔案替換掉這裡的source\scaffolds\themes\,_config.yml替換成自己原來部落格裡的。注意,這裡把themes/next中的.git/目錄刪除

 

將整個目錄推送到master

要推送到master分支,首先要將該目錄初始化為本地Git倉庫:

1
2
3
4
5
6
7
git init
 
//把部落格目錄下所有檔案推送到master分支
git remote add origin [email protected]:chown-jane-y/chown-jane-y.github.io.git
git add .
git commit -m "first add hexo source code"
git push origin master

注意:如果不小心初始化了README.md 在執行 git push origin master 會失敗.。此時先執行以下命令進行程式碼合併

git push origin master

 

 

在github上新建一個分支

1.建立本地分支

git branch 分支名,例如:git branch hexo

2.切換本地分支

git checkout 分支名,例如從master切換到分支:git checkout hexo

3.遠端分支就是本地分支push到伺服器上。比如master就是一個最典型的遠端分支(預設)。

git push origin hexo

4.設定預設分支 
git branch --set-upstream-to=origin/hexo hexo

新建一個分支hexo(名字可以自定義),這時候hexo分支和master分支的內容一樣,都是hexo的原始檔。

並把hexo設為預設分支,這樣的話在另外一臺機器上克隆下來就直接進入hexo分支,並且以後所有操作都是在hexo分支下完成。

為什麼需要這個額外的分支呢?

因為hexo d只把靜態網頁檔案部署到master分支上,所以你換了另外一臺電腦,就無法pull下來繼續寫部落格了。有了hexo分支的話,就可以把hexo分支中的原始檔(配置檔案、主題樣式等)pull下來,再hexo g的話就可以生成一模一樣的靜態檔案了

 

部署部落格

還是和以前一樣:

1. hexo g -d

如果提示 RROR Deployer not found: git 說明前面 npm install --save hexo-deployer-git 沒有執行成功 再執行一次

npm install --save hexo-deployer-git

部落格已經成功部署到master分支,這時候到github檢視兩個分支的內容,hexo分支裡是原始檔,master裡是靜態檔案

注意:根目錄下的_config.yml配置檔案中branch一定要填master,否則hexo d就會部署到hexo分支下。

 

關聯到遠端hexo分支

如果有修改的話 ,在本地新建一個hexo分支別忘了,要推送到hexo分支上去:

git add .
git commit -m  ""
git push origin hexo

這樣才能在另外的機器上pull下來,保持同步

 

MAC機器

個人PC上的工作已經完成了,下面講一下如果你換到了另外一臺電腦上,應該如何操作。

將部落格專案克隆下來

git clone xxx

克隆下來的倉庫可能是master分支(我已經設定hexo為預設分支了 但是clone下來還是master分支)這時候需要切換一下分支,所以可以在這基礎上繼續寫部落格了。

#檢視所有分支
git branch -a
#切換分支
git checkout hexo

但是由於.gitignore檔案中過濾了node_modules\,所以克隆下來的目錄裡沒有node_modules\,這是hexo所需要的元件,所以要在該目錄中重新安裝hexo,但不需要hexo init

npm install hexo
npm install
npm install hexo-deployer-git --save

新建一篇文章測試

hexo g -d

推送到hexo分支

git add .
git commit -m "add work PC test"
git push origin hexo

部署到master分支

hexo g -d

日常操作

如果上面的過程都操作無誤的話,你就可以在任何能聯網的電腦上寫部落格啦。一般寫部落格的流程是下面這樣。

寫部落格前

不管你本地的倉庫是否是最新的,都先pull一下,以防萬一:

git pull origin hexo

 

把最新的pull下來,再開始撰寫新的部落格。

寫部落格

hexo new "title"

然後開啟source/_posts/title.md,撰寫博文。

寫完部落格

先推送到hexo分支上:

git add .
git commit -m "add article xxx"
git push origin hexo

最後部署到master分支上

hexo g -d

整個流程大概就是這樣。