CGIT is a nice, quick, and easy way of displaying git repositories. After much fighting I figured out how to allow CGIT to display URLs such as http://code.example.com/repository.git (the git is optional).
Below is the Apache config for code.example.com:
<VirtualHost *:80>
ServerName code.example.com
DocumentRoot /var/www/code.example.com
CustomLog logs/code.example.com.access_log combined
ErrorLog logs/code.example.com.error_log
SetEnv CGIT_CONFIG /var/www/code.example.com/cgitrc
Alias /cgit.css /var/www/code.example.com/cgit.css
Alias /cgit.png /var/www/code.example.com/cgit.png
Alias /favicon.ico /var/www/code.example.com/favicon.ico
Alias /robots.txt /var/www/code.example.com/robots.txt
Alias / /var/www/code.example.com/cgit.cgi/
<Directory /var/www/code.example.com>
Options Indexes FollowSymLinks
Options +ExecCGI
Order allow,deny
Allow from all
AddHandler cgi-script .cgi
DirectoryIndex cgit.cgi
</Directory>
</VirtualHost>