I am presenting Git to a 10 man programming team who currently use Visual Source Safe.
They need to host their Git server inside the company. Windows or Linux. Direc
The world has changed a lot in the meanwhile, and I think that http://gitblit.com/ is currently one of the best solutions (depending on your requirements):
So if you don't want to have a new server for each and every team, this is really an option. We like it!
That's pretty much the technique I use. It's a hassle to set up accounts and keys for everyone, but that only needs to be done once.
As a bonus if you lay things out right you can have a read-only repository available at git://whatever or http://whatever and your writable repository at git+ssh://whatever.
EDIT: gitosis does look pretty neat, although you might want to have individual accounts for all your developers at some stage anywhere.
We're using gitosis where devs push to and pull from. See gitosis.
There are lots of git management GUIs out there if you want to run it yourself. gitorious is nice, for example.
For your authentication needs, that's mostly up to you. You may have a hard time having ssh honor your preferred auth technique (last time I did anything like that, I modified ssh to read keys out of LDAP).
The web interface could do whatever you'd like, I'm sure. I'd probably just leave it open on the inside of the network, though.
It's certainly possible to have a self-hosted git repository with access control. Typically what one would do is create a account named git
on the server machine, set the shell of that account to git-shell
, which is a limited shell designed for use by git only, and then put the public keys for each authorized user in the git
-user's .ssh/authorized_keys file.
http://blog.commonthread.com/2008/4/14/setting-up-a-git-server has most of the rest of the actual details.
I'd be a bit concerned about suggesting git
for your version control system. Visual Source Safe is about as Microsoft of a product as one can get, while git is on the other extreme and barely functions on Windows.
TortoiseGit, a Windows interface to git, is now available. This tempers my original response, as I feel having a GUI access to your source-control system is very important for the majority of Windows developers.