I'm only going on what I've read on SO, so forgive me, but all I read says that one major advantage of Git over Subversion is that Git gives all the source code to the developer locally, not having to do anything on the server.

With my limited using of SVN and TortoiseSVN, I had all the source code, or at least I thought I did.  For example, I have a website.  I upload it to SVN.  I am still running my website locally, aren't I?  If someone submits a change and I'm not connected, it wouldn't matter if I had Git or not, until I reconnect to the server.

I do not understand.  I'm not asking for a rehash of one vs. the other except this one point.

The premise you are questioning really is wrong:


  that one major advantage of Git over Subversion is that Git gives all the source code to the developer locally


With both Subversion and Git you have your source code locally. With Git you have both your source code and a repository on your local machine.

It goes something like this.

Subversion:

Your code <-> The Repository

Git:

Your code <-> Your local repository <-> A remote repository (... <-> another remote repo, and so on) 

One benefit you get from this structure is that you can still use source control and commit your local changes to your local repository without disturbing the work of other team members (with whom you share the remote repository). 

With Subversion you'd have to either risk breaking the build for other people or suffer prolonged local development without any source control which ends with a huge commit (or more likely a revert).

With Git, on the other hand, you'd feel free to commit these changes to your local repository, view logs and diffs or your changes, and only when you feel it is ready to be shared with the team push the changes from the local repository to the remote one.
