一、 多終端同步使用
遠程分支:maser、hexo存放不同文件內容。
-
hexo分支:存放本地文件,包括建站所需的配置文件、資源文件夾、主題文件夾、模板文件夾等,具體如下:【注】這裏沒有public文件夾,其實本地執行hexo d -g等發佈命令會將由md文件渲染的靜態文件放入public中。
.
├── _config.yml 網站的 配置 信息,您可以在此配置大部分的參數
├── package.json 應用程序的信息。EJS, Stylus 和 Markdown renderer 已默認安裝
├── scaffolds 模版 文件夾
├── source 資源文件夾是存放用戶資源的地方
| ├── _drafts
| └── _posts
└── themes 主題 文件夾
這樣hexo分支具有備份本地文件作用,當用新的設備時,只要與hexo分支同步既可以繼續接着以前設備上的文章繼續寫作。
- master分支:存放hexo服務器上發佈的靜態文件等,也就是在本地目錄下的public目錄。這裏master起服務器目錄的作用。
具體步驟使用如下
一、 多終端同步使用
遠程分支:maser、hexo存放不同文件內容。
- hexo分支:存放本地文件,包括建站所需的配置文件、資源文件夾、主題文件夾、模板文件夾等,具體如下:【注】這裏沒有public文件夾,其實本地執行hexo d -g等發佈命令會將由md文件渲染的靜態文件放入public中。
.
├── _config.yml 網站的 配置 信息,您可以在此配置大部分的參數
├── package.json 應用程序的信息。EJS, Stylus 和 Markdown renderer 已默認安裝
├── scaffolds 模版 文件夾
├── source 資源文件夾是存放用戶資源的地方
| ├── _drafts
| └── _posts
└── themes 主題 文件夾
這樣hexo分支具有備份本地文件作用,當用新的設備時,只要與hexo分支同步既可以繼續接着以前設備上的文章繼續寫作。
- master分支:存放hexo服務器上發佈的靜態文件等,也就是在本地目錄下的public目錄。這裏master起服務器目錄的作用。
具體步驟使用如下
- 舊的設備做好備份本地文件到遠程的hexo分支下,假定舊的設備是自己以及搭建hexo博客成功到master上了。做完Github Pages頁面了。所以master分支下已有hexo生產的靜態文件等。
git init //初始化本地倉庫
git add source //將必要的文件依次添加,有些文件夾如npm install產生的node_modules由於路徑過長不好處理,所以這裏沒有用`git add .`命令了,而是依次添加必要文件,如下圖所示.使用git add -A 可以自動把node_modules文件夾忽略。選擇依次add或add -A都可以,下面圖是add -A提交後的,測試是可以的
git commit -m "Blog Source Hexo"
git branch hexo //新建hexo分支
git checkout hexo //切換到hexo分支上
git remote add origin [email protected]:yourname/yourname.github.io.git //將本地與Github項目對接
git push origin hexo //push到Github項目的hexo分支上
- 另一臺新設備發佈前準備
- 安裝node.js https://nodejs.org/en/download/
- 安裝hexo npm install hexo -g
- 安裝git
- clone hexo分支,安裝必要組件,寫文章,add並commit,本地文件備份到hexo,發佈到maser
git clone -b hexo [email protected]:yourname/yourname.github.io.git //將Github中hexo分支clone到本地
cd yourname.github.io //切換到剛剛clone的文件夾內
npm install //注意,這裏一定要切換到剛剛clone的文件夾內執行,安裝必要的所需組件,不用再init
hexo new post "new blog name" //新建一個.md文件,並編輯完成自己的博客內容
git add source //經測試每次只要更新sorcerer中的文件到Github中即可,因爲只是新建了一篇新博客
git commit -m "XX"
git push origin hexo //更新分支
hexo d -g //push更新完分支之後將自己寫的博客對接到自己搭的博客網站上,同時同步了Github中的master
- 這樣就可以在不同終端下,同步的寫文章了
git pull origin hexo
hexo new post "new post name"
git add source
git commit -m "XXXX"
hexo d -g
git push origin hexo
參考:hexo官方文檔
二、部署過程中出現的問題
【問題 1】每次hexo d -g 生產靜態文件並部署推送到遠程master分支下後,Github Pages設置的域名失效,每次推送到master都要自己setting中設置或添加CNAME文件。
-
解決方案:爲了避免域名失效後自己手動的設置,可以將CNAME文件放到本地文件的source目錄下,hexo部署時會一併把CNAME文件部署到master分支的根目錄下。如圖CNAME在我本地文件夾的位置及CNMAE文件內容。README文件同理也是這樣。
【問題 2】當本地提交了不想提交的\錯誤的到遠程分支下,想讓遠程分支回退到某個版本
參考
https://blog.csdn.net/ccorg/article/details/80115408
https://blog.csdn.net/fuchaosz/article/details/52170105
歡迎訪問
my blog:http://blog.malik.pub
GitHub:https://github.com/MalikCheng/myblog