GitHub PagesのUser Pagesでドキュメントルートを変更するにはmasterを殺す

More than 1 year has passed since last update.

TL;DR

GitHub PagesのUser Pages(#{username}.github.ioとかになるやつ)はリポジトリ直下がドキュメントルートになる。

サブディレクトリ(/docsとか)をドキュメントルートにするには…

  • masterから別のブランチ(例:source)を作ってリモートにpushしておく
    • git push origin source
  • リポジトリのSettings->Branches->Default Branchessourceに変更する Branches.png
  • masterブランチをリモートから削除する
    • git push -f --delete origin master
  • ドキュメントルートにしたいディレクトリ(例 : /docs)をsubtreeとしてmasterという名前でpushする
    • git subtree push --prefix docs/ origin master

これでhttp(s)://#{username}.github.ioにアクセスすると/docs/index.htmlが表示される。

参考資料

GitHub PagesにはUser & Organization PagesとProject Pagesの2種類がある。Project Pagesはgh-pagesというブランチか/docs以下をドキュメントルートにする「Source」という設定ができたのだが、User & Organization Pagesではmasterのルート直下しか選べない。

「Source」が設定できるようになる前はgh-pagesというブランチを用意するしかなかったのだが、これもルート直下がドキュメントルートになってしまう。master/docsをsubtreeとしてpushする、というテクニックが以前から使われていたので、それをmasterとして使ってみたというわけ。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.