Git repository maintenanceEdit
In order to keep repository size and performance at their best I set up a simple cron job to run git gc (see man git-gc for more information) once per month.
The crontab entry looks like this:
MAILTO="example@example.com"
@monthly	/path/to/tools/gc-git-repos.sh
And the script is basically:
#
# Configuration
#
PRIVATE_REPOS="/path/to/private"
PUBLIC_REPOS="/path/to/public"
#
# Functions
#
do_gc()
{
  for REPO in $1/*.git; do
    cd $REPO &&
    git-gc &&
    cd -
  done
}
#
# Main
#
set -e
do_gc "${PRIVATE_REPOS}"
do_gc "${PUBLIC_REPOS}"