技術ブログ改め、Qiitaの下書き

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-pagesmasterにデプロイできるか試してみます。

調べてみると、どうやらブランチを指定するオプションは-b(--branch)のようです。 実はgh-pagesブランチにpushした時はこれを使ったんですけど、subtreeをpushする方法を調べた時にアンインストールしてしまっていたんですね。 再インストールして、以下のコマンドを叩きます。

bash
$ npx gh-pages -d dist -b master

これで無事デプロイが完了しました!

まとめ

gitにはsubtreeという機能がある。 でも.gitignoreが優先されてしまう。 gh-pagesが超便利!