使用hexo,如果換了電腦怎么更新博客?

背景:一臺電腦上已有一個在用的博客,又新用了一臺電腦,實現原電腦和新電腦都可以提交更新博客,實現同步或者說博客的版本管理。

步驟:

  1. 在原電腦上操作,給 username.github.io 博客倉庫創(chuàng)建hexo分支,并設為默認分支。(具體可參考這篇文章的操作,有圖示)
  2. 如果未給你的 github 賬號添加過當前電腦生成的 ssh key,需要創(chuàng)建 ssh key 并添加到 github 賬號上。(如何創(chuàng)建和添加 github help 就有)
  3. 隨便一個目錄下,命令行執(zhí)行 git clone git@github.com:username/username.github.io.git 把倉庫 clone 到本地。
  4. 顯示所有隱藏文件和文件夾,進入剛才 clone 到本地的倉庫,刪掉除了 .git 文件夾以外的所有內容。
  5. 命令行 cd 到 clone 的倉庫,git add -A ,git commit -m "--",git push origin hexo,把剛才刪除操作引起的本地倉庫變化更新到遠程,此時刷新下 github 端博客hexo分支,應該已經被清空了。
  6. 將上述 .git 文件夾復制到本機本地博客根目錄下(即含有 themes、source 等文件夾的那個目錄),現在可以把上述 clone 的本地倉庫刪掉了,因為它已經沒有用了,本機博客目錄已經變成可以和 hexo 分支相連的倉庫了。
  7. 將博客目錄下 themes 文件夾下每個主題文件夾里面的 .git .gitignore 刪掉。
  8. cd 到博客目錄,git add -A ,git commit -m "--",git push origin hexo,將博客目錄下所有文件更新到 hexo 分支。如果上一步沒有刪掉 .git .gitignore,主題文件夾下內容將傳不上去。至此原電腦上的操作結束。
  9. 在新電腦上操作,先把新電腦上環(huán)境安裝好,node.js、git、hexo,ssh key 也創(chuàng)建和添加好。
  10. 選好博客安裝的目錄, git clone git@github.com:username/username.github.io.git
  11. cd 到博客目錄,npm install、hexo g && hexo s,安裝依賴,生成和啟動博客服務。正常的話,瀏覽器打開 localhost:4000 可以看到博客了。至此新電腦操作完畢。
  12. 以后無論在哪臺電腦上,更新以及提交博客,依次執(zhí)行,git pull,git add -A ,git commit -m "--",git push origin hexo,hexo clean && hexo g && hexo d 即可。

參考鏈接:hexo 博客同步管理及遷移

三、本地資料丟失后的流程
新MacBook pro修改博客
command + space
Terminal.app


image.png
cd ~/.ssh
ssh-keygen -t rsa -C "[youremail@example.com](mailto:youremail@example.com)"
more id_rsa.pub
image.png

https://github.com/settings/keys

image.png

image.png

image.png

進入項目根目錄

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install nodejs
git clone git@github.com:username/username.github.io.git hexo
cd hexo
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install hexo-cli -g
cnpm install
cnpm install hexo-deployer-git
hexo g && hexo s

(記得,不需要hexo init這條指令)。

git add -A               #將文件的修改上傳到暫存區(qū)
git commit -m '說明'      #提交到本地倉庫
git push origin hexo   #推送到GitHub網站上
hexo clean && hexo g && hexo d
hexo clean //清除緩存文件 (db.json) 和已生成的靜態(tài)文件 (public)
hexo s //本地預覽
hexo g //生成緩存和靜態(tài)文件
hexo d //重新部署到服務器
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容