Does TDS have to have access to the version control server? My development environment is in a VM with no network access. I use Visual Studio in there and then push the changes to version control from the host (a Mac, so no Visual Studio with TDS). My (probably wrong) understanding of TDS is that it is serializing the Sitecore items from the database so that Visual Studio can push them to version control. What I'd like to do is use a version control tool on the host that doesn't have TDS to then push the serialized TDS projects to the VC host. Is this possible? Or does TDS require access to the version control server to do the serialization?
I think you have a misunderstanding of how TDS and Source Control work.
First, TDS does not have any integration or dependency on a Source Control system. You can use TDS with Git, SVN, TFVC, whatever you want to use. All TDS is doing is taking the items from the Sitecore database and persisting them to files on the disk. In Visual Studio, it creates a project so you can see the files and perform actions.
For source control, you just add, update and remove those files into your source control provider just like you would any other file that you want source controlled. TDS does not require access or even care about your source control server. As long as your local git instance can see the files via a share on your VM, then it will be able to commit those files to source control.
As for Visual Studio and Git - Visual Studio does not push anything into source control. Again, it doesn't care about what you are using as your scm. But there are add-ins to VS that allow you to push/pull etc... from within Visual Studio.
The short version of all that is, you can easily use git on your host mac to add the TDS files to source control, as long as you have a shared drive area that your mac can see and that is where your source files are stored.