使用github的pages服務創建項目主頁的注意事項

以前我對github的pages服務的使用一直只停留在創建博客而已,最近整理了上面的幾個repo才使用了其創建項目主頁功能。整體來說仍是很方便的,各位看看官方文檔便可大體瞭解。而接下來我再說說期間遇到的一些問題和解決:git

確保你的username.github.io不會跳到別的站點

首先github的pages服務給每一個用戶只分配了一個域名username.github.io;你也能夠添加CNAME記錄使其指向你本身其餘域名,pages服務會爲你自動跳轉。而每一個項目的gh-pages分支下其項目主頁默認卻只是<username>.github.io/<projectname>CNAME記錄指向的其餘域名/<projectname>,就不能再本身設置域名了。因此這裏千萬要注意用戶域名username.github.io的CNAME記錄別跳到別的站上去,不然不能訪問到各個項目的gh-pages分支。github

因爲我博客使用雙repo同時在github和gitcafe上部署,爲保證國內訪問,levonlin.github.io的CNAME中,域名levonlin.info的CNAME記錄值被我設爲gitcafe.io,結果就致使創建的項目主頁一直404。若是你和我同樣的狀況,那要麼刪除username.github.io的CNAME,要麼保證CNAME指向的域名不會跳到別的站上,這樣才能愉快地使用pages服務。fetch

解決gh-pages分支clone到本地後出現push衝突

這就得理解git的工做原理了,local repo和remote repo上兩個分支得如今有或者merge之前有相同的"base"才能用push實現local repo上branch的上傳,以下圖:spa

85ad0d9cgw1esqtsf76xoj20ko0camyb.jpg

clone下來後保持同步

在github建立gh-pages後,因爲clone到local repo上的只有master分支,而master分支與gh-pages分支的初始狀態並不一樣步。能夠先fetch一次gh-pages再checkout到它上面commit,就能實現正常push:3d

85ad0d9cgw1esqtth7lfzj20ia08kwfa.jpg

85ad0d9cgw1esqtw0e5y9j20k4084gmf.jpg

85ad0d9cgw1esqtwe1345j20kk09rgmg.jpg

自建的分支保持同步

此外若是你在本地自建了gh-pages分支,則要再checkout到它上面pull後commit,即可以push啦:
85ad0d9cgw1esqtwv14ikj20hz09awfc.jpgcode

85ad0d9cgw1esqtx54i5tj20kz0ahq3y.jpg

85ad0d9cgw1esqtxdpn1rj20le0cf3zn.jpg

相關文章
相關標籤/搜索