您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何使用git分支保存hexo博客源碼到github”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何使用git分支保存hexo博客源碼到github”吧!
hexo是當(dāng)前最火的靜態(tài)博客框架,支持Markdown格式文章編輯并自動(dòng)生成對(duì)應(yīng)的靜態(tài)網(wǎng)頁(yè),簡(jiǎn)單高效令人愛不釋手。 使用hexo寫博客的流程通常是,
通過hexo new post_name
命令,會(huì)自動(dòng)在source/_post
目錄下生成一個(gè)待寫的post_name.md
文件
編寫完該md文件后,用hexo generate
編譯生成對(duì)應(yīng)的HTML文件
發(fā)布之前,可以用hexo s
本地預(yù)覽,然后通過hexo deploy
發(fā)布到遠(yuǎn)程倉(cāng)庫(kù)的master分支,然后你的個(gè)人站點(diǎn)就能看到剛才新加的文章了
然而,使用過hexo搭建個(gè)人博客的朋友們想必都會(huì)遇到博客源碼保存的問題。即遠(yuǎn)程倉(cāng)庫(kù)只會(huì)保存hexo發(fā)布后的靜態(tài)HTML文件,你的博客md源文件、主題配置等還在本地,一旦電腦磁盤壞了或者換了電腦,就無法在之前倉(cāng)庫(kù)的基礎(chǔ)上繼續(xù)寫博客。針對(duì)此問題,有不少博主會(huì)在github上單獨(dú)另起一個(gè)repository來專門保存博客源文件,每次發(fā)布完新文章,需要手動(dòng)地將source/post
下的md文件上傳到源文件對(duì)應(yīng)的repository,確實(shí)也能解決問題,但總歸是麻煩。后來偶然看到聰明的網(wǎng)友借助git分支來巧妙地實(shí)現(xiàn)用同一個(gè)倉(cāng)庫(kù)保存靜態(tài)網(wǎng)頁(yè)和博客源碼,自己試了下確實(shí)很贊,故總結(jié)之。
因Github Page要求使用master分支作為發(fā)布網(wǎng)站的源代碼,我們只能用master分支來保存hexo生成的靜態(tài)網(wǎng)頁(yè),對(duì)于博客源碼,可以新建一個(gè)source分支來存儲(chǔ)。在github上打開Pages對(duì)應(yīng)的倉(cāng)庫(kù),也就是以"username.github.io"命名的倉(cāng)庫(kù),然后建立一個(gè)source分支,如下圖:
因?yàn)槲乙呀?jīng)創(chuàng)建過source分支,故下方會(huì)顯示目前該倉(cāng)庫(kù)上有master和source兩個(gè)分支。其中source分支顯示打鉤,表示當(dāng)前倉(cāng)庫(kù)的默認(rèn)分支已經(jīng)是source而不是master了,下面會(huì)講。
github上的倉(cāng)庫(kù)初始都會(huì)有個(gè)master分支,也就是默認(rèn)分支。對(duì)于一個(gè)倉(cāng)庫(kù)project_name
,當(dāng)我們通過git clone https://github.com/sherlockyb/project_name.git
下載代碼時(shí),實(shí)際拉取的是默認(rèn)分支master對(duì)應(yīng)的代碼。而我們用hexo寫博客時(shí),通常是與md源文件打交道,對(duì)于deploy生成的master分支代碼并不需要我們關(guān)注,因此可將倉(cāng)庫(kù)的默認(rèn)分支改為保存源碼的source分支,這樣通過git clone
拉取的就是source分支代碼了。
在倉(cāng)庫(kù)的主頁(yè)面,通過Settings -> Branchs,可以看到Default branch的Tab,顯示的默認(rèn)分支是master,可以勾選source,然后update即可將默認(rèn)分支設(shè)置為source,如下圖:
進(jìn)入到本地hexo工程目錄,也就是我們通常執(zhí)行hexo new post
等命令的目錄,執(zhí)行如下操作:
git remote add origin https://github.com/sherlockyb/sherlockyb.github.io.git
將本地的md源文件、站點(diǎn)配置文件等推送到source分支。 因?yàn)槲覀冎恍枰A舨┛驮创a,其他無關(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
因?yàn)閟ource分支是從master分支新建的,初始代碼實(shí)際就是master的拷貝,因而master中已有的public等deploy生成的文件也會(huì)一起帶過來,這些都不算是博客源文件,如果你也覺著source分支還存著這些有些別扭,就可以先在本地把它刪掉,然后執(zhí)行:
git add . git commit -m 'DEL: public things which only for deploy' git push origin source
執(zhí)行完之后,你的倉(cāng)庫(kù)大概就是長(zhǎng)這個(gè)樣子:
后續(xù)即便你再發(fā)布博客時(shí),deploy生成public文件,在提交博客源碼時(shí),也不會(huì)將其帶上去,因?yàn)橛?code>.gitignore將其忽略了。
假設(shè)我們換電腦了,要在新環(huán)境繼續(xù)在原有倉(cāng)庫(kù)基礎(chǔ)上擼文章,此時(shí)通過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文件通常會(huì)配置deploy推送的目標(biāo)地址,這個(gè)一般在最初使用hexo時(shí),就會(huì)配置為master,不用改動(dòng):
# Deployment ## Docs: https://hexo.io/docs/deployment.html deploy: type: git repo: https://github.com/sherlockyb/sherlockyb.github.io.git branch: master
同步更新到原文
感謝各位的閱讀,以上就是“如何使用git分支保存hexo博客源碼到github”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)如何使用git分支保存hexo博客源碼到github這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。