利用GitHub實現Hexo博客的多端同步

根據下面總結的思路配合上面的提到的參考文章,相信如果下次還需要進行這樣的操作,也會很快就熟悉了。下面總結一下主要思路:
首先需要知道Hexo在本地和在GitHub上的文件是兩個不同的東西。本地的主要是部署文件包括了自己寫的所有文章的MarkDown文件,主題文件等等;上傳到GitHub中的文件是部署文件渲染過後的文件,我們最終訪問GitHubName.github.io看到的個人站點其實就是這些保存在GitHub中渲染過的東西。想要實現多端同步,關鍵點是讓多臺電腦上都有最新的部署文件,也就是那個本地文件,因此我們可以利用git實現這一需求。
大致流程是:

  1. 到GitHubName.github.io這個倉庫,新建分支命名爲hexo(這個新建的branch就是爲了存儲本地的部署文件),並將新建的hexo分支設置爲default分支;
  2. 然後在老電腦上(有本地部署文件的電腦)使用git clone,把hexo倉庫克隆下來,再把部署文件全部複製粘貼進這個克隆下來的hexo文件夾中(最好使用clone吧,剛開始我是直接把那個倉庫的ZIP壓縮包下載下來了,但是在某一步一直會報錯);
  3. 按照上面的思路分析,我們最終目的是要將hexo的本地部署文件上傳到GitHub上,所以按順序依次使用git init、git add、git diff HEAD、git commit、git remote add origin sshURL 、git push origin hexo等命令,就可以把最新粘貼進分支hexo中的部署文件同步到GitHub中了。這個過程出現的大多數問題應該是由於不熟悉這些git命令造成的。

我剛開始嘗試時遇到過這些問題:

  1. github連接遠程倉庫時出現Warning: Permanently added the RSA host key for IP address ‘***********’ … - comeonbabe_的博客 - CSDN博客
  2. Git提交時提示‘The file will have its original line endings in your working directory’ - 劉俊濤的博客 - 博客園
  3. Git 提示fatal: remote origin already exists錯誤解決辦法 - Ricky - CSDN博客
  4. 在gitBash中,複製粘貼的快捷鍵不是CtrlC/V
  5. git push失敗出現error: src refspec master does not match any.解決方案 - 青陽十五的專欄 -CSDN博客
  6. git error - “error: src refspec master does not match any.” -Stack Overflow
  7. warning: LF will be replaced by CRLF in 解決辦法 -csdn799316120的博客 - CSDN博客
  8. git commit之後進入vim(vi)界面,如何退出 -Amos_luoye的博客 - CSDN博客
  1. 然後在新電腦上安裝git、node.js、Hexo環境、以及生成SSH添加到GitHub。
  2. 新電腦上的準備工作就緒之後,把hexo分支git clone下來,然後就可以和在原來電腦上一樣進行寫作了。寫完之後一般按照 git init、git add、git diff HEAD、git commit、git remote add origin sshURL 、git push origin hexo。其中git remote add origin sshURL也不必每次都弄。
  3. 上一步只是把最新的部署文件上傳到了GitHub中,但是並沒有對其渲染,所以還得依次執行Hexo 的命令:hexo clean 、hexo g、hexo s、hexo d。
  4. 最後,這樣就可以在兩臺電腦上都寫最新的文章並及時發佈了。但是在每臺電腦上,開始寫博客之前,最好都使用git pull origin hexo從GitHub中把最新的部署文件獲取下來。

過程基本就是這樣,整體思路和流程主要參考以下兩篇文章:

利用Hexo在多臺電腦上提交和更新github pages博客 -簡書
如何解決github+Hexo的博客多終端同步問題 - monkey_lzl的博客 -CSDN博客

然後,在新電腦上需要重新安裝git、node.js、Hexo環境、以及生成SSH添加到GitHub,這些設置參考下面文章的相應內容即可:

hexo史上最全搭建教程 - Fangzh的技術博客 - CSDN博客
生成新 SSH 密鑰並添加到 ssh-agent - GitHub 幫助

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