blog @arfyasu

プログラミングとか趣味のこととか

Git のコミット時に音楽を流す方法

この記事は、この記事は Git その2 Advent Calendar 2015 の22日目の記事です。 qiita.com

はじめに

今日も元気に Git してますか?

さて突然ですが、commit した時に音楽流したいと思ったことありませんか?
僕はありませんでしたが、先日、一緒に仕事をしている人から
「git のフックで音楽流せるといいよね?」
という話が出まして。

色々話を聞いて調べてみると、commit 時に音楽を流すことなら簡単に出来そうだったので、作ってみました。

これをすると、以下の効果が期待できます。
(当方は一切責任を持ちませんので、あしからず)

期待できる効果

  • プロジェクトのテーマソングが決まります
    いつでもどこでも、その曲を聞けばプロジェクトのことを思い出すことができますw

  • 殺伐とした雰囲気を音楽で解消する
    プロジェクト後半の殺伐した雰囲気の中でも、なごみ系の音楽を流すことで雰囲気がよくなるかもしれません

  • 自分が仕事をしていることをアピールできる
    空打ちでもいいので、コミットして曲を流しまくれば上司もあなたの仕事をみとめてくれるかもしれません

  • ドラクエのレベルアップの音楽を流すとテンション上がります
    自分がレベルアップしたと錯覚することができます。いえ、きっとレベルアップしています。多分...

  • 好きなキャラボイスでねぎらってもらう
    これ以上何も言うまい。


では、環境と作り方です。
なお、OSX のコマンドを使うため、Windows 非対応です。

環境

Mac OSX(当方はYosemite
git 2.5.4 (Apple Git-61)

手順

1. 音楽ファイルの配置

まず、再生したい音楽を決め、適当なディレクトリに配置します。
今回は、リポジトリのホームに musics というディレクトリを作成し、再生したい音楽ファイル(~/Download/commit.mp3)をコピーします。

$ mkdir musics
$ cp ~/Download/commit.mp3 musics
2. git hook のコマンドを作成

.git/hooks/post-commit ファイルを以下の内容で作成します。

echo "play music..."
afplay -q 1 ./musics/commit.mp3 &

afplay は、音楽を再生するための OSX のコマンドです。
-q 1 は、高品質で音楽を再生するためのオプションです。

以上で準備完了です。
commit して、音楽が再生されるのを確認しましょう。

git には、他にも色々な hook が用意されているので、状況に合わせて音楽を再生するのも良いかと思います。
pre-push で、push時に音楽を再生することも可能なはずです。

Git フックについては、以下のページで確認してみてください。
Git - Git フック

注意点

  • バックグラウンド実行のため Control-c では途中停止できません
    途中停止したい場合は、ターミナルに素早く以下のコマンドを打ち込んで実行してください。
$ killall afplay
  • 著作権保護されたオーディオファイルは再生できないみたいです
    確認はしていませんが、afplay では iTune 等で購入した著作権保護対象の音楽ファイルは再生出来ないようです。

それでは、これからも良い git ライフをw