In an earlier post, I wrote about how I do very, very lightweight deployment with git.
I found myself doing this over and over again, so here is a little script that does it for you.
Now getting your local code on your server is as easy as:
server$ python create_repo.py repo.git /your/checkout/directory/ local$ git remote add web ssh://you@server/path/to/repo.git local$ git push web master
Here is the script. It uses a post-receive hook to checkout the latest version of the code. What I do is keep all of my repositories in one directory on the server, and checkout the code to a different location depending on the project.