GitHub PagesのUser Pageにdistフォルダをデプロイする
User Pageにはmasterブランチしか指定できない
みたいです。 しかもルート指定もできないようです。
GitHubは今までProject Pageしか使っていなかったので、gh-pagesブランチを指定できず焦りました。
というわけでググります。
どうやらmasterを殺せばいいらしい
このQiitaの記事を参考に作業していきます。
GitHub PagesのUser Pagesでドキュメントルートを変更するにはmasterを殺す
masterブランチを削除して、指定フォルダをsubtreeとしてpushするらしいです。
手順通りに作業し、残るはpushのみ…
bash
$ git subtree push --prefix dist/ origin master
git push using: origin master
No new revisions were found
はい、うまくいかず!
masterブランチは追加されませんでした。
No new revisions were foundを読むと、更新ファイルが無いとのことらしいです。distフォルダを.gitignoreしているのが原因でしょう。
gh-pagesに頼る
distフォルダを開発のgit管理に入れたくないし、だからと言ってデプロイのたびにadd -fしていくのは面倒です。
なので、gh-pagesでmasterにデプロイできるか試してみます。
調べてみると、どうやらブランチを指定するオプションは-b(--branch)のようです。
実はgh-pagesブランチにpushした時はこれを使ったんですけど、subtreeをpushする方法を調べた時にアンインストールしてしまっていたんですね。
再インストールして、以下のコマンドを叩きます。
bash
$ npx gh-pages -d dist -b master
これで無事デプロイが完了しました!
まとめ
gitにはsubtreeという機能がある。
でも.gitignoreが優先されてしまう。
gh-pagesが超便利!