詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

Fork me on GitHub

GitHub Pages に push するシェルスクリプト #git #github

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)" みたいになっていて、どの時点で作られた内容かわかるので、便利ですね。

Shell script to setup/push GitHub pages

はてなで一緒に働きませんか?