As of Git 1.7.1, you can set init.templatedir in your gitconfig to tell Git where to look for templates.
Set it like this:
git config --global init.templatedir '~/.git_template'
Afterward, new repositories you create or clone will use this directory for templates. Place the hooks you want in ~/.git_template/hooks. Existing repositories can be reinitialized with the proper templates by running git init in the same directory .git is in.
For Git versions older than 1.7.1, running git init --template ~/.git_template will work if you’re like me and still want to manage your .git_template directory along with the rest of your dot files. You can also use the $GIT_TEMPLATE_DIR environment to tell git init where your template directory is.