Hoje vou demonstrar como configurar o Git num servidor Linux usando Apache como server, com o protocolo HTTP("smart" HTTP),  permitindo a colaboração dos membros de sua equipe.
Tenho utilizado Git há 4 anos em projetos particulares e nos meus experimentos, no trabalho utilizo uma "solução" da Microsoft. Sem duvida nenhuma Git  é o melhor controle de versão existente, não da  nem pra comparar com os outros, Git é de longe o melhor, não há motivos técnicos para não usá-lo, além de ser muito simples aprender a utiliza-lo (a menos que você seja apenas um usuário de IDE que só sabe clicar, igual um macaco treinado LOL... ai fica um pouco difícil, mas vai acabar sendo treinado com o tempo). Nunca precisei configurar um servidor Git, pois utilizo serviços como GitHub e Bitbucket, mas configurar o Git num servidor pra rodar numa intranet é bem simples e pode ser feito de várias maneiras.
O Git suporta os seguintes protocolos: Local, HTTP("smart" HTTP), SSH e protocolo Git. Atualmente o protocolo HTTP ("smart" HTTP) tem sido o mais utilizado. Ele é chamado de "smart" HTTP pois antigamente  existia o suporte HTTP, mas ele era muito limitado, mas na versão 1.6.6 do Git, o suporte ao protocolo HTTP recebeu grandes melhorias, tornando-se excelente, ficando conhecido como "smart" HTTP, com ele você pode ter acesso anônimo ou autenticado com criptografia.
Para rodar o Git com o protocolo HTTP é necessário um servidor com suporte a CGI, pois quem vai fazer todo o trabalho é um script CGI chamado git-http-backend que já vem junto com o Git, eu utilizei o Apache mas poderia ser qualquer outro servidor com suporte a CGI.

O que foi utilizado nesta demonstração:
  • Ubuntu 14.04-LTS
  • Git 2.2.1
  • Apache 2.4.7

Instalando o Git

Você pode instalar o Git com apt-get ou se você quiser a versão mais recente do Git, você pode baixar o código-fonte dele e compilar.
Recomendo que compile a ultima versão, depois você pode clonar o repositório do Git, e fazer um pull ou fetch+merge para receber as atualizações direto do repositório.
git clone git://git.kernel.org/pub/scm/git/git.git

Configuração do servidor Apache

Para instalar o Apache:
Habilitar módulos mod_cgi, mod_alias, mod_env e auth_digest do Apache:
Depois de ter instalado o apache e os módulos, é necessário criar um "Virtual Host" onde o Git rodará na intranet, eu utilizei este domínio de exemplo: http://git.exemplo/, para fins de testes eu configurei o meu /etc/hosts com este domínio.
Configuração do arquivo /etc/apache2/sites-available/git.conf :
Crie um arquivo 'Virtual Host' chamado git.conf, nele estão setadas variáveis de ambiente do apache para dizer onde estão os repositórios Git, configura o apache para que toda URL que tiver /git seja manipulada pelo CGI git-http-backend e como o apache deve lidar com a autenticação.
  • Local onde estão os repositórios Git: /var/www/git/git
  • Local do arquivo de autenticação dos usuários: /var/www/git/.htpasswd
Arquivo /etc/apache2/sites-available/git.conf:
Obs: O arquivo /var/www/git/.htpasswd é o arquivo onde estão os usuários, para criar um usuário no apache utilize o comando htdigest. Por exemplo:
Após criar o arquivo git.conf é necessário ativa-lo e reiniciar o apache:

Criando um repositório Git Remoto

Agora que o servidor já está configurado é necessário criar o repositório remoto. O repositório deve ficar no local que foi configurado no apache: /var/www/git/git.

Pronto ;) agora seus amiguinhos podem colaborar neste repositório remoto através da rede utilizando o Git.

Um usuário previamente criado no /var/www/git/.htpasswd que tenha acesso ao servidor na rede, após autenticação pode fazer um git clone e começar a colaborar neste repositório.

Referências