I would go with Gitolite (manages the permissions) here and Redmine (manages the workflow over many repos) here. If you have no need for permission -management, please, go with Michael's solution. If you do not need to manage many repos, forget Redmine (useful with many repositories). The stuff here contain the same stuff as in Michael's answer but in third-party sites and some additions that you may need when your projects expand.
0. Git + SSH -keypair (Please, see the Michael's answer and below some outlining.)
If you are unable to do this, do not proceed forward -- this method
shows the basic way of using bare -repos to content-host your repos.
It takes some 2 minutes' time to do it, simply:
On server
$ git init --bare test.git
On client
$ eval `ssh-agent`
$ ssh-add ~/your_auhorized_key_in_server
$ git clone something@IP:test.git
1. Gitolite (managing perms of a team with different skills)
excellent step-by-step tutorial here
(notice the "~/.ssh/authorized_keys"
-file must have only gitolite -user)
check out repository -addition/removal here, yes it is that
simple -- you just configure the config -file and then "$ git add .;
git commit -m "new repos, old dead"
and "$ git push"
"$ ssh gitolite@xxx.yy.112.239 info"
shows you the configuration
hello hhh, this is gitolite@ip-10-xxx-xx-203 running gitolite3 v3.03-29-g3c0f177 on git 1.7.4.5
R W helloworld
R gitolite-admin
R W testing
Cloning a repository under gitolite
$ git clone gitolite@176.34.112.239:helloworld
2. Redmine/Trac/etc (managing workflow over repos in a central GUI place)
Instructions
here for Redmine
and be sure not to clone the unstable development branch in Github.
You need to download some stable archieve. However, I would probably go with
Trac, comparison here.
Redmine was some Rails -hack and unstable master -branch does not sound good.
3. Ticgit/etc (managing tickets without thirdparty dependencies)
Bremner outlined this issue here but notice this ticket here, things still in very bad shape. General thread here.