GitHub のプロジェクトごとの GitHub Pages (http://motemen.github.io/git-browse-remote/ とか)は gh-pages
ブランチに push すればいいということになってますが(ヘルプ)、git checkout --orphan
なんてこんなときくらいしか使わないし、決まりきった手順を毎度やるのもだるい。たとえば middleman を使ってるなら middleman-gh-pages というプラグインがあって、これを使うのも手だけれど、そうでない場合には結局手でやる必要があってこまる。そういうわけで、独立したシェルスクリプトにしてみました。
使い方
% push-gh-pages DIRECTORY
DIRECTORY というのは GitHub Pages に push されるファイルが展開されるディレクトリ(Git で管理されてないことを想定してます)で、たとえば middleman を使っている場合は build/
になります。このディレクトリの内容を、現在いるリポジトリのリモートリポジトリの gh-pages
ブランチに push します。
細かく見ていくと、このスクリプトがやることは
- DIRECTORY が Git リポジトリでない場合は、Git リポジトリにする
- リモートを設定する
- gh-pages ブランチをチェックアウトする、なかったら作る
git add .
してコミットする- push する
という風になってます。デフォルトではコミットメッセージが "pages built at e9daa20165c1b701ed3959b60f4d8c5e5b56da13 (master)" みたいになっていて、どの時点で作られた内容かわかるので、便利ですね。