今天看到一個朋友在github上面的issue大概問題就是怎麼在不同的電腦上面使用git有個這麼個東西Submoudle中文叫做子模塊具體使用教程看這裡Git-工具-子模塊這裡只說怎麼搞hexo多主題切換和換電腦啥的開始首先分兩種情況1. 主題的出了配置文件 或者其他文件沒有DIY過,都是直接clo... ...
今天看到一個朋友在github上面的issue
大概問題就是怎麼在不同的電腦上面使用
git有個這麼個東西Submoudle中文叫做子模塊
具體使用教程看這裡Git-工具-子模塊
這裡只說怎麼搞hexo多主題切換和換電腦啥的
開始
首先分兩種情況
1. 主題的出了配置文件 或者其他文件沒有DIY過,都是直接clone原來的主題作者的
2. 主題的CSS JS 文件自己改過
沒有修改主題源碼
如果沒有修改主題源碼那就按照下麵的步驟來作
備份主題配置文件
文件在
themes/主題名字/_config.yml
沒錯就是他,如果你修改了預設的配置,就拷貝到另外的目錄
刪除主題文件
沒啥說的 刪除對應的主題文件,也可以直接刪除themes文件夾
建立子模塊
在主目錄執行下麵命令
git submodule add <主題的git地址> themes/<主題名字>
添加完之後 會在主git目錄下麵生成一個.gitmoudles文件
獲得主題文件
執行完上面的步驟之後主題並不會自動clone到對應的目錄
要clone到本地 只需要在博客的git主目錄執行
git submodule update --init --recursive
這個時候主題就會直接下載到對應的文件夾
恢復
這個就簡單了 剛纔備份的主題配置文件覆蓋回去就行了
好了這樣就設置完了
命令
下次更新主題文件就直接執行
git submodule update
即可
更改過主題源代碼
上面的看完再看這個,這個就更簡單了
fork主題源代碼
找到你喜歡的主題,點擊Github的fork,然後就會在你自己的代碼庫出現一份主題的代碼
建立本地子模塊
跟上面一樣的步驟建立
只不過在添加子模塊的時候把命令
git submodule add <主題的git地址> themes/<主題名字>
這裡的主題git地址換成你自己庫的地址
git submodule add [email protected]:luodaoyi/hexo-theme-next.git themes/next
後面的設置跟前面一模一樣
提交自己的主題更改
按照沒有修改過主題的步驟弄完 恢復好了主題設置檢查沒啥問題之後
然後進入主題代碼的目錄
cd themes/主題名字
提交主題的更改
git add .
git commit -m "剝離主題"
git push -u origin master
然後在自己的分支上面跟隨原主題作者的更新 處理合併 生成的時候直接pull到本地就行
為啥要這樣做
為啥要這樣做 多費勁
這樣做的有點有幾個
- 首先主題設置跟站點設置分離,主題本身就是模塊化的為啥非要搞到一起
- 以後可以隨便換主題玩更改站點配置裡面的主題名字即可
- 可維護性很好
- 方便換電腦
多主題切換
按照上的做法可以設置很多套主題
一套主題對應一套主題配置 可以備份到主題文件裡面
隨時切換主題
切換主題的時候只需要更改站點配置裡面對應的主題名字就行了
換電腦了
這個更簡單 換了新電腦 配置好git環境和 Node.js 環境
這個時候只需要clone一分自己的源代碼到本地
在本地執行
npm install -g hexo-cli
npm install
git submodule update --init --recursive
好了搞定了