很多新同學覺得github不就是一個代碼托管所嗎,如何能展示項目呢?其實完全可以借助Github的gh-pages打造出自己的一個作品集,無論是對自己的提升整合還是日后的面試都大有裨益。
前置准備
Github創建項目倉庫后隨即只產生一個master分支,只需要再添加gh-pages
分支就可以創建靜態頁面了。這利用了項目站點(即Project Pages)的方式。還有一種創建站點的方式叫做User/Organization Pages。下面介紹前者。
首先,創建一個名為 Github用戶名.github.io 的倉庫。
接着大家可以在這倉庫里放一些靜態頁面,在外網訪問: MuYunyun.github.io(拿我舉例),就能訪問到里面的靜態資源了,由於博主已經把MuYunyun.github.io 綁定了 http://muyunyun.cn 域名,所以你實際上會訪問到的是muyunyun.cn。
如果你想知道樓主如何基於github搭建自己的博客,可以看我的另外一篇文章。這次講的重點主要是gh-pages,接着繼續。
案例1
那可能有朋友會不解,既然樓主你說的 Github用戶名.github.io 已經能展示頁面了,那gh-pages是什么作用呢?
答:大家不會只有一個項目要展示的吧,萬一你和樓主一樣把 Github用戶名.github.io 作為博客了,那不就沒地方展示項目了嗎?所以就有了gh-pages這個東東。
理解了這點,接着舉個例子。
如上圖所示,通過git-add -A、git -commit -m "..." 命令把完成的項目上傳到github上以后,默認的是處於master分支,你可以進該案例地址看看項目結構。接着我們要做的是展現dist目錄下的靜態文件,那最關鍵的語句來了
git subtree push --prefix=dist origin gh-pages
意思就是把指定的dist文件提交到gh-pages分支上,
那這時候,我們看到已經多出了一個gh-pages分支,那么展示地址就是 Github用戶名.github.io/創建的倉庫名 拿我的這個案例來講,它的展示地址就是 MuYunyun.github.io/gallery-by-react/ ,當然你看到的會是muyunyun.cn/gallery-by-react/。
案例2
那么上面這個例子展示的項目文件中的某個文件,那么如果我想把項目里的所有文件都展示那該如何做呢?上個最簡單的案例
和上面那個案例一樣,通過git add -A 以及 git commit -m "..." 把項目上傳到github以后,目錄結構如上圖,我想讓所有的界面包括js,css都展現出來,那該怎么做,其實只比上面那個例子多上一句git底層命令: git symbolic-ref
完整的步驟我上一遍:
text git:(master) git symbolic-ref HEAD refs/heads/gh-pages
git add -A
git commit -m "..."
git push origin gh-pages
那現在就已經多出來gh-pages分支了,也就是說我們可以展示自己項目了(*^__^*),那展示地址還是和上面那個案例一樣的寫法 Github用戶名.github.io/創建的倉庫名,拿我的這個案例來講,它的展示地址就是 MuYunyun.github.io/text/ ,當然你看到的會是muyunyun.cn/text/。
寫在后面
大體就是這樣一個步驟了,希望對大家有所幫助,快去github展示自己的項目吧。mark~mark~