使用git分支保存hexo博客源碼到github

hexo是當前最火的靜態(tài)博客框架技俐,支持Markdown格式文章編輯并自動生成對應的靜態(tài)網(wǎng)頁,簡單高效令人愛不釋手褒脯。
使用hexo寫博客的流程通常是绎签,

  1. 通過hexo new post_name命令,會自動在source/_post目錄下生成一個待寫的post_name.md文件
  2. 編寫完該md文件后荔棉,用hexo generate編譯生成對應的HTML文件
  3. 發(fā)布之前闹炉,可以用hexo s本地預覽,然后通過hexo deploy發(fā)布到遠程倉庫的master分支润樱,然后你的個人站點就能看到剛才新加的文章了

困擾

然而渣触,使用過hexo搭建個人博客的朋友們想必都會遇到博客源碼保存的問題。即遠程倉庫只會保存hexo發(fā)布后的靜態(tài)HTML文件壹若,你的博客md源文件嗅钻、主題配置等還在本地,一旦電腦磁盤壞了或者換了電腦店展,就無法在之前倉庫的基礎(chǔ)上繼續(xù)寫博客养篓。針對此問題,有不少博主會在github上單獨另起一個repository來專門保存博客源文件壁查,每次發(fā)布完新文章,需要手動地將source/post下的md文件上傳到源文件對應的repository剔应,確實也能解決問題睡腿,但總歸是麻煩。后來偶然看到聰明的網(wǎng)友借助git分支來巧妙地實現(xiàn)用同一個倉庫保存靜態(tài)網(wǎng)頁和博客源碼峻贮,自己試了下確實很贊席怪,故總結(jié)之。

解決辦法

新建git分支

因Github Page要求使用master分支作為發(fā)布網(wǎng)站的源代碼纤控,我們只能用master分支來保存hexo生成的靜態(tài)網(wǎng)頁挂捻,對于博客源碼,可以新建一個source分支來存儲船万。在github上打開Pages對應的倉庫刻撒,也就是以"username.github.io"命名的倉庫,然后建立一個source分支耿导,如下圖:

create_branch.png

因為我已經(jīng)創(chuàng)建過source分支声怔,故下方會顯示目前該倉庫上有master和source兩個分支。其中source分支顯示打鉤舱呻,表示當前倉庫的默認分支已經(jīng)是source而不是master了醋火,下面會講。

更改倉庫的默認分支

github上的倉庫初始都會有個master分支,也就是默認分支芥驳。對于一個倉庫project_name柿冲,當我們通過git clone https://github.com/sherlockyb/project_name.git下載代碼時,實際拉取的是默認分支master對應的代碼兆旬。而我們用hexo寫博客時假抄,通常是與md源文件打交道,對于deploy生成的master分支代碼并不需要我們關(guān)注爵憎,因此可將倉庫的默認分支改為保存源碼的source分支慨亲,這樣通過git clone拉取的就是source分支代碼了。

在倉庫的主頁面宝鼓,通過Settings -> Branchs刑棵,可以看到Default branch的Tab,顯示的默認分支是master愚铡,可以勾選source蛉签,然后update即可將默認分支設(shè)置為source,如下圖:

default_branch.png

將本地hexo目錄與遠程倉庫關(guān)聯(lián)

進入到本地hexo工程目錄沥寥,也就是我們通常執(zhí)行hexo new post等命令的目錄碍舍,執(zhí)行如下操作:

git remote add origin https://github.com/sherlockyb/sherlockyb.github.io.git

推送博客源碼

將本地的md源文件、站點配置文件等推送到source分支邑雅。
因為我們只需要保留博客源碼片橡,其他無關(guān)的文件并不希望推送,需要確保配好了.gitignore文件淮野,通常如下:

.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/

然后依次執(zhí)行如下命令:

git add .
git commit -m 'hexo source post'
git push origin source

刪除public等文件(可選)

因為source分支是從master分支新建的捧书,初始代碼實際就是master的拷貝,因而master中已有的public等deploy生成的文件也會一起帶過來骤星,這些都不算是博客源文件经瓷,如果你也覺著source分支還存著這些有些別扭,就可以先在本地把它刪掉洞难,然后執(zhí)行:

git add .
git commit -m 'DEL: public things which only for deploy'
git push origin source

執(zhí)行完之后舆吮,你的倉庫大概就是長這個樣子:

source_files.png

后續(xù)即便你再發(fā)布博客時,deploy生成public文件队贱,在提交博客源碼時色冀,也不會將其帶上去,因為有.gitignore將其忽略了柱嫌。

新環(huán)境

假設(shè)我們換電腦了呐伞,要在新環(huán)境繼續(xù)在原有倉庫基礎(chǔ)上擼文章,此時通過git clone將博客源碼拉到本地慎式,然后安裝伶氢、初始化hexo就能搞定:

git clone https://github.com/sherlockyb/sherlockyb.github.io.git sherlockyb
cd sherlockyb
npm install hexo
npm install hexo-deployer-git -save

// hexo環(huán)境配置好后趟径,繼續(xù)像之前一樣
hexo new post_name
...

注意事項

確保hexo deploy推送的是master分支,hexo目錄下的_config.yml文件通常會配置deploy推送的目標地址癣防,這個一般在最初使用hexo時蜗巧,就會配置為master,不用改動:

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git
  repo: https://github.com/sherlockyb/sherlockyb.github.io.git
  branch: master

同步到原文

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蕾盯,一起剝皮案震驚了整個濱河市幕屹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌级遭,老刑警劉巖望拖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異挫鸽,居然都是意外死亡说敏,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門丢郊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盔沫,“玉大人,你說我怎么就攤上這事枫匾〖艿” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵干茉,是天一觀的道長谴忧。 經(jīng)常有香客問我,道長角虫,這世上最難降的妖魔是什么沾谓? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮上遥,結(jié)果婚禮上搏屑,老公的妹妹穿的比我還像新娘争涌。我一直安慰自己粉楚,他們只是感情好,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布亮垫。 她就那樣靜靜地躺著模软,像睡著了一般。 火紅的嫁衣襯著肌膚如雪饮潦。 梳的紋絲不亂的頭發(fā)上燃异,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天,我揣著相機與錄音继蜡,去河邊找鬼回俐。 笑死逛腿,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的仅颇。 我是一名探鬼主播单默,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼忘瓦!你這毒婦竟也來了搁廓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤耕皮,失蹤者是張志新(化名)和其女友劉穎境蜕,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凌停,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡粱年,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了苦锨。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逼泣。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖舟舒,靈堂內(nèi)的尸體忽然破棺而出拉庶,到底是詐尸還是另有隱情,我是刑警寧澤秃励,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布氏仗,位于F島的核電站,受9級特大地震影響夺鲜,放射性物質(zhì)發(fā)生泄漏皆尔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一币励、第九天 我趴在偏房一處隱蔽的房頂上張望慷蠕。 院中可真熱鬧,春花似錦食呻、人聲如沸流炕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽每辟。三九已至,卻和暖如春干旧,著一層夾襖步出監(jiān)牢的瞬間渠欺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工椎眯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留挠将,地道東北人胳岂。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像舔稀,于是被迫代替她去往敵國和親旦万。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容