Did you consider Dropbox? It does not require registration if you send out the public link, it can show you the source code (albeit not very nice), and people can simply download all they need.
This obviously only works if your colleagues do not contribute to your code. To simplify the process, set up a new branch 'Dropbox' or 'Final', and add a post-commit hook which copies the contents of that branch to your public dropbox folder after each commit. Here's a tutorial: http://git-scm.com/book/en/Customizing-Git-Git-Hooks
The idea is that once you finished a certain version of your code that you wish to release, you add it to the respective branch, then the hook is automatically executed and copies the code over to the right directory.
As requested, here's how I deploy my websites on my server:
git runs on the server, as user 'git' with its own home-directory
I develop offline and, once finished, merge all changes into the 'deploy'-branch, which is the working branch on git.
push all changes to the server via ssh (thus the git repo on the server must be bare)
the deploy-branch is setup with a hook in /home/git/repository/hooks/post-receive which contains #!/bin/sh /usr/local/sbin/git_update_website.sh
This script does the following: #!/bin/bash
GIT_WORK_TREE=/srv/www/vhosts/website/httpdocs git checkout -f
which copies the contents of the current branch to the specified directory (that's why deploy needs to be the active branch).
On your machine, you would link to the checkout script to ./hooks/post-commit (there is a sample in /hooks/ ) and tell it to check out your code to the directory you specify, for example /home/user/Dropbox/publiccode/
Please note that I'm far from being a git-pro, and there may be easier ways to accomplish this, but this works for me.