git commit hooksで diff つきの mailを飛ばす方法
gitでコミットがあったときにコメントdiffつきお知らせメールを受けとりたくて自前でScriptとかで頑張ってみていたのですが、よくよく調べてみるとちゃんとScriptがついていてそれを使って、あとは中のコード読んで設定したりググったりしてみると無駄な労力なくdiffつきでメールが飛んでくるようです。
Hogeリポジトリを作成して実例して再現すると
リポジトリ作成
mkdir -p ~/local/git/Hoge.git cd ~/local/git/Hoge.git git --bare init
post-receiveの設置
cd ~/local/git/Hoge.git/hooks cp post-receive.sample post-receive
post-receiveの編集
- #. /usr/share/doc/git-core/contrib/hooks/post-receive-email + /usr/share/doc/git-core/contrib/hooks/post-receive-email
~/local/git/Hoge.git/descriptionの設定
Hoge
git configの設定
git config --global hooks.mailinglist "your@gmail.com" git config --global hooks.emailprefix "[git commit]" git config --global hooks.envelopesender "your@gmail.com" git config --global hooks.showrev "git show -C %s; echo"
ここまで設定したらあとは実際にcommitしてあげればdiffつきのメールが
飛んできます。