使用Hexo搭建博客,备份至GitHub过程(基于网上资料的实践操作)
參考資料:
使用hexo,如果換了電腦怎么更新博客?
https://www.zhihu.com/question/21193762
其中,最多贊回答(轉至其博文):
http://crazymilk.github.io/2015/12/28/GitHub-Pages-Hexo搭建博客/#more
Q:如何本地直接刪除文件后,git到遠程倉庫,遠程倉庫也刪除了對應文件?
A1:“git到遠程倉庫”是指什么?一般你在本地刪除了文件,之后commit,再push到遠程,對應的文件肯定就刪掉了。
A2:例如刪除github上的 .DS_Dtore 文件的執行操作,進入到對應目錄,在終端中執行以下操作
git rm --cached filename
git commit -m “hehe”
git push origin
執行完畢,刷新一遍github,你會發現此時想要刪除的文件已經消失了。
1、在需要創建 .gitignore 文件的文件夾, 右鍵選擇Git Bash 進入命令行,進入項目所在目錄。
2、輸入 touch .gitignore ,生成“.gitignore”文件。
3、在”.gitignore” 文件里輸入你要忽略的文件夾及其文件就可以了。(注意格式)
我的 .gitignore:
.deploy_git/
node_modules/
public/
某知乎回答,其.gitignore文件:
db.json
debug.log
node_modules/
public/
.deploy_git/
參考用:
我在新建一個文件夾 hexo init 后出現了一個.gitignoren文件,文件內容為:
.DS_Store
Thumbs.db
db.json
.log
node_modules/
public/
.deploy/
我的備份方式
在github上新建一個GitHub Page:strivebo.github.io,正如知乎上的回答,在這個倉庫下,另外新增加一個hexo分支,并且設置該分支為主分支。
這樣,master用來上傳hexo搭建的博客編譯好的博客,hexo分支用來備份源文件,包括theme、.md等文件。
完整操作如下:(摘自知乎回答)
個人已出此坑:第 5 步中特別要注意,hexo init會清空.git 文件夾(即版本控制信息會丟失)
所以我的做法是:
第 4 步完成后,先拷貝出.git文件夾,等第 5 步完成后,再粘貼.git文件進去。
此外,如何出現提示 no ** develop 什么的,不太記得,需要使用 npm install hexo-deployer-git --save
-
日常修改
在本地對博客進行修改(添加新博文、修改樣式等等)后,通過下面的流程進行管理:
依次執行git add .、git commit -m “…”、git push origin hexo指令將改動推送到GitHub(此時當前分支應為hexo);
然后才執行hexo generate -d發布網站到master分支上。
雖然兩個過程順序調轉一般不會有問題,不過邏輯上這樣的順序是絕對沒問題的(例如突然死機要重裝了,悲催….的情況,調轉順序就有問題了)。 -
本地資料丟失
當重裝電腦之后,或者想在其他電腦上修改博客,可以使用下列步驟:
使用git clone git@github.com:strivebo/strivebo.github.io.git拷貝倉庫(默認分支為hexo);
在本地新拷貝的strivebo.github.io文件夾下通過Git bash依次執行下列指令:npm install hexo、npm install、npm install hexo-deployer-git(記得,不需要hexo init這條指令)。
另外:
我還會新建一個倉庫,如 hexo-blog ,專門用來備份本地 .md 等源文件,這些博客文件丟失最難受了。因為上面用的分支方式,最后是多次嘗試我是成功了,但是在成功之前我失敗了好多次,然后導致刪了倉庫重新再來,所以我對分支方式還是不太保險,對每一步操作和涉及的文件的含義還未完全明白。所以干脆另建一個倉庫再次備份吧,步驟如下:
注:當然也可以拷貝所有文件包括 public、.deploy_git 文件夾至剛剛克隆下來的倉庫hexo-blog中,但是記得新增一個 .gitignore文件,內容參照文章最上面的有關回答。其作用大概是上傳github遠程倉庫時,忽略其中指定的文件及文件夾。
總結
以上是生活随笔為你收集整理的使用Hexo搭建博客,备份至GitHub过程(基于网上资料的实践操作)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Git 常用命令及讲解(不断更新)
- 下一篇: MyEclipse 清理项目缓存的几大方