【GitHub】建立Git分支將Hexo部落格遷移到其它電腦
GitHub+Hexo搭建部落格的過程比較平滑,但是它的配置卻非常耗時間,一旦電腦出現問題或者需要在另外一臺電腦上寫部落格,那麼Hexo部落格的遷移非常就讓人頭疼。下面參考其他部落格的方法,整理出一個能在平時就管理重要檔案的方法,方便隨時遷移
必備檔案
Hexo部落格系統中影響遷移的只有一部分檔案和資料夾,所以只需要備份它們即可
檔案(夾) | 說明 |
---|---|
scaffolds/ | 部落格文章的模版 |
source/ | 所有部落格文章,以及about、tags、categories等page |
themes/ | 網站的主題 |
.gitignore | 在push時需要忽略的檔案和資料夾 |
_config.yml | 站點配置檔案 |
package.json | 依賴包的名稱和版本號 |
我們要做的就是通過各種方式備份這些檔案和資料夾,比如說以下兩種靜態備份方式:
- 通過U盤或行動硬碟儲存
- 通過網盤儲存
上述兩種方式可以用於備份不經常改變的檔案,可是我們需要備份的比如部落格文章、Hexo配置檔案和主題配置檔案是需要經常更改的,所以需要其它方式動態備份
參考其它部落格瞭解到可以通過建立Hexo部落格系統的分支進行備份
建立分支目錄
先新建一個hexo資料夾,作為分支的工作目錄,用於儲存將要備份的檔案和資料夾
$ mkdir hexo
再把GitHub上的Hexo倉庫clone到hexo資料夾中
$ git clone https://github.com/widiot/widiot.github.io hexo
刪除除了.git資料夾的其它所有檔案和資料夾,主要是為了得到版本管理的.git。下面命令不會刪除隱藏檔案和資料夾
$ cd hexo
$ rm -r *
最後把需要備份的檔案和資料夾都複製到hexo資料夾下,hexo的目錄結構應該如下
scaffolds/
source/
themes/
.git/
.gitignore
_config.yml
package.json
如果使用的主題是從GitHub克隆的,那麼主題資料夾下有Git管理檔案,需要將它們移除,我使用的是hexo-next,需要移除的檔案如下
$ rm -R themes/next/.git*
建立分支
建立一個叫hexo的分支
$ git checkout -b hexo
儲存所有檔案到暫存區
$ git add --all
提交變更
$ git commit -m "建立hexo分支"
推送到GitHub,並用--set-upstream
與origin建立關聯,將hexo設定為預設分支
$ git push --set-upstream origin hexo
合併管理
現在我們的部落格系統有兩個需要管理的資料夾,一個是hexo,另一個是username.github.io,每次發表新文章都需要分別對這兩個資料夾進行提交管理,顯然是很蠢的行為
因為我們需要手動管理的只是hexo中的檔案,而.gitignore之外的檔案由Hexo管理,所以可以將這兩個資料夾進行合併管理
之前已經將需要備份的檔案加入了hexo分支,所以直接將hexo分支中的.git資料夾複製到username.github.io資料夾中
$ cp -a .git ../widiot.github.io
檢視當前的分支,確保處於hexo分支下
$ cd ../widiot.github.io
$ git branch -v
還需要移除主題目錄下的Git管理檔案
$ rm -R themes/next/.git*
檢視Git當前狀態,還需要對.gitignore檔案進行編輯,確保忽略不備份的檔案
$ git status
master分支的檔案則需要Hexo進行管理,編輯 _config.yml站點配置檔案,設定branch為master
deploy:
type: git
repo: https://github.com/widiot/widiot.github.io
branch: master
發表文章
新建Markdown文章,編輯文章
$ hexo new test
將相關更改推送到hexo分支
$ git add .
$ git commit -m "發表文章test"
$ git push origin hexo
將靜態檔案推送到master分支
$ hexo clean # 如果配置檔案沒有更改,忽略該命令
$ hexo g -d
在GitHub上檢視hexo分支如下圖所示
遷移
將hexo分支克隆下來
$ git clone -b hexo https://github.com/widiot/widiot.github.io
然後安裝Hexo依賴
$ npm install
這樣就可以簡單的將Hexo部落格遷移到任何電腦上了 : )
只是每次發表新文章要輸入很多命令和密碼 : (
參考文章
相關文章
- 部落格園cnblog部落格遷移到Hexo(提供格式轉換)Hexo
- 更換電腦後,如何遷移 hexo 部落格?包括建立本地 Git 與 Github 的公鑰連線步驟詳解HexoGithub
- 我如何將部落格遷移到 Kubernetes(上)
- 我如何將部落格遷移到 Kubernetes(下)
- 最安全的hexo多臺電腦同步部落格解決方案--非新建分支Hexo
- hexo建立個人部落格Hexo
- 整合github、hexo搭建部落格GithubHexo
- 【GitHub】GitHub+Hexo搭建個人部落格GithubHexo
- Hexo + Github 搭建靜態部落格(一)HexoGithub
- hexo+github搭建個人部落格HexoGithub
- Hexo+Github部落格搭建完全教程HexoGithub
- Hexo部落格多臺電腦裝置同步管理Hexo
- Hexo-Node-Git搭建部落格HexoGit
- Git+Hexo搭建靜態部落格GitHexo
- Python 將所有 Bug 遷移到 GitHub 中PythonGithub
- 基於windows平臺Git+GitHub+Hexo搭建個人部落格(三)WindowsGithubHexo
- 將 Hexo 個人部落格同時部署到 GitHub 和 Coding 上HexoGithub
- Hexo+Github搭建部落格總結HexoGithub
- Hexo+GitHub+阿里域名搭建自己部落格HexoGithub阿里
- hexo結合github搭建個人部落格HexoGithub
- hexo部落格部署到github後進不去!HexoGithub
- Hexo+Github+Netlify部署個人部落格HexoGithub
- 搭建部落格 (Hexo + github + butterfly主題)HexoGithub
- Github Pages部署個人部落格(Hexo篇)GithubHexo
- 使用hexo+Anisina+github搭建個人部落格HexoGithub
- 史上最快用GitHub、Hexo搭建個人部落格GithubHexo
- 基於Github Page 搭建部落格(hexo框架)GithubHexo框架
- GitHub + Hexo搭建自己部落格(一) 基本內容GithubHexo
- 基於 Github Actions 自動部署 Hexo 部落格GithubHexo
- Hexo+Github輕鬆搭建個人部落格HexoGithub
- 用GitHub Actions自動釋出Hexo部落格GithubHexo
- 功能分支是邪惡的:從SVN遷移到Git經驗Git
- svn 遷移到gitGit
- 如何使用Github+Hexo快速搭建個人部落格GithubHexo
- hexo+github搭建靜態部落格之初體驗HexoGithub
- 【轉載】Hexo+GitHub構建個人部落格HexoGithub
- 基於 Hexo + GitHub Pages 搭建個人部落格(三)HexoGithub
- GitHub + Hexo搭建自己部落格(二) Next主題配置GithubHexo