If you want to go for self hosting, go with a cheap VPS. You basically get your own virtual system that shares resources with other virtual systems on the same machine. Go to www.lowendbox.com and shop around. I pay something like $5 a month for mine. You typically get 10-100 GB of space depending on who you go with. Network speed is usually very fast. The low end part comes from having limited RAM and CPU power, but all of the low end specs (e.g. 1 core, 512 MB RAM) are more than powerful enough to handle a git, subversion, or similar repository.
When you sign up you get an SSH login and you’ll probably do all your administration through SSH. It’s completely unmanaged, so you have to know how to set up your repositories yourself and whatnot. You usually get a static IP, so you give your team the IP address to access the VPS, or if you have a domain name just point it to the IP. Once you have your repository setup you can setup your git/svn/whatever to clone/checkout/etc using ssh URLs (it’s my preference, I haven’t tried http/s or otherwise). So again you set this all up yourself so if you wanted to you could make it so that the server only accepts certain SSH keys, and then copy the public keys of all your team member’s machines to the server.
Again it’s unmanaged, so you have to know how to set everything up yourself. You can even set up a website if you know how to use nginx, and write some simple .html pages, or use something more sophisticated like Jekyll to create your site. If you somehow blow up your VPS (e.g. rm -rf /), they usually provide a control panel web page you can log into in order to reinstall your VPS and start from scratch again.
One thing to beware though is you never know for sure who can see your data. So you probably want to encrypt any sensitive data before copying it to your VPS.
All in all I highly recommend using a VPS. If it’s a personal VPS you can use it for much more than just hosting your project. You can backup data to it (probably want to encrypt it first though), use your VPS as an SSH proxy, host a website like I mentioned earlier, some providers even allow you to use them for torrenting, etc.