Git is a distributed verision control system. Highly recommended. There is an excellent tutorial, or you can take a look at my notes (best viewed in Emacs org-mode). See git-publish.py for a useful Git public-repository setup script.
If you want a better understanding of the Git model, check out the Git Internals chapter of the Pro Git book.
I've published Git repositories for most of my more involved projects.
You can download a repo with
git clone http://www.physics.drexel.edu/~wking/code/git/<repo-name> <local-dir>
For example
git clone http://www.physics.drexel.edu/~wking/code/git/sawsim.git sawsim
Of course, traditional tarballs, zips, etc. are also available through the web interface.
There are many tools which use version control systems as storage backends for various utilities. For example, ikiwiki is a VCS-based wiki, and Bugs Everywhere is a VCS-based bug tracker.
I've also written up a few scripts to automate common Git tasks:
- git-unmerged-branches.sh lists unmerged branches