Why is my git auto commit script in cron.hourly not running?

It looks like when you run the script manually, you do it as chris. So why are you trying to run it as root under cron? /etc/crontab (and by extension the /etc/cron.* directories) are for system jobs. To run a job as your user, run crontab -e and write a line like

01 * * * * cd ~/path/to/directory && ~/bin/auto-commit

This runs ~/bin/auto-commit in the specified directory hourly at one minute past the hour.