Integração GIT no Visual Studio 2012

A Microsoft anunciou hoje no evento ALM Summit por meio do Brian Harry uma grande novidade dentro de sua plataforma de Application Lifecycle Management (ALM) que é amplo suporte ao protocolo do GIT permitindo integração nativa no Visual Studio 2012 e no próprio Team Foundation Server. Para quem não conhece o GIT é o principal controle de versão do mercado quando o assunto é Distributed Concurrent Versions System (DCVS) permitindo ao desenvolvedor ter um sistema de controle de versões distribuído independente do servidor.

Para que você possa melhor entender o significado desse anuncio é importante entender que a plataforma do TFS (Team Foundation Server) tem um controle de versão chamado internamente de Team Foundation Server Version Control (TFSVC). O que muda agora é que você terá toda a experiência do Visual Studio / Team Explorer / Work Itens / Scrum e poderá escolher qual o seu controle de versão (GIT/TFSVC).

O que a Microsoft fez nesse grande passo é mais um avanço em sua estratégia de democratizar o ALM ampliando o suporte aos dois principais modelos de controle de versão do mercado, sendo o distribuído baseado no GIT e o centralizado baseado no TFSVC que continuará recebendo grandes investimentos.

A principal diferença é que o desenvolver independente da sua plataforma (Windows, Linux) e da sua ferramenta de desenvolvimento (Visual Studio, Eclipse, Xcode) e qualquer outra que ofereça suporte ao GIT/TFSVC terá a mesma experiência de ALM oferecida pelo Team Foundation Server gerenciando seu projeto, gerenciando o código fonte, integrando o mesmo com as atividades e com serviço de Build.

Visual Studio Team Explorer  GIT

Para que você possa entender melhor o tamanho dessa decisão o Brian Harry foi quem criou o antigo Source Safe ainda usado em muitos projetos e alguns anos depois na Microsoft criou em conjunto com seu time o que conhecemos hoje como TFS e líder em controle de versão centralizado. A cerca de um ano quando estávamos no MVP Summit na Microsoft  em Redmond ficamos sabendo sobre a decisão ainda em NDA (Non-disclosure agrément) de oferecer suporte aos dois modelos conectando um projeto Open Source existente no lugar de criar o seu próprio DCVS.

Uma das coisas que mais defendo nos projetos é não reinventar a roda. E hoje ao escrever esse post vejo mais uma grande lição. Numa decisão estratégica a Microsoft conseguiu focar seus investimentos em trazer uma plataforma que estava presa a ser apenas um controle de versão para um novo patamar de ALM e ao mesmo tempo conseguirá atrair milhares de desenvolvedores novos que já usam o GIT para o Visual Studio / Team Foundation Server.

Agora que você tem a sua opção de escolha ampliada cabe avaliar no seu projeto qual o melhor modelo de trabalho para o controle de versão conforme a necessidade de cada projeto.

Quais são os próximos passos?
Para suportar essas novidades a Microsoft já atualizou o Team Foundation Services que é a sua plataforma de ALM baseada no Windows Azure, assim como liberou atualizações para o Visual Studio 2012 que terá esse suporte nativo apartir do próximo update. Já terá a opção ao criar um novo projeto.

image 

Quanto ao Team Foundation Server?
O Team Foundation Server 2012  que você já tem hoje nada muda por enquanto nessa versão ficando a atualização para uma próxima versão.

Posso ter o GIT em outro servidor externo?
Sim, você pode usar o seu Visual Studio 2012, Team Explorer e ter o serviço do GIT oferecido por um terceiro só não terá o suporte de ALM do TFS.

Em resumo para um completo entendimento:
Hoje completa quase 9 anos desde quando iniciamos a falar de ‘Visual Studio Team System” na Microsoft e foi um grande marco em minha carreira profissional, pois passei a direcionar os investimentos em ciclo de desenvolvimento de software desde o Visual Studio Team System 2005 e é com muita alegria que trago essa grande notícia para vocês. O principal resumo na prática é ter uma plataforma de ALM disponível a todos independentemente da plataforma muito aderente a um mercado como o nosso tanto heterogêneo ‘”Cross-technology ALM platform”.

[Team Foundation Server = Application Lifecycle Management = Cross-technology ALM platform]
– Colaboração para todos envolvidos no projeto.
– Gestão de projetos (Atividades, bugs, backlog, scrumboard, burndown).
– Qualidade de software (Casos de teste, Testes funcionais, Automatizados, carga, evidências, Unitários, cobertura de código…).
– Integração continua (Automação de Build usando .NET / Java …, Entrega continua).
– Gestão de código fonte (TFS Version Control ou GIT, Integração com politicas projeto, atividades, bugs, testes).
– Integração : Visual Studio, Eclipse, Xcode e muitos outros……
– Dashboard e relatórios.

Para saber mais:
Git Support Added to Visual Studio and TFS
Announcing Visual Studio 2012 Update 2 (VS2012.2)

NOTA: E antes de acabar vale lembrar que esse pacote de atualização “Visual Studio 2012 update 2” traz um rico suporte
ao Kanban que conversaremos em outra oportunidade.

[],
Ramon Durães
MVP, Visual Studio ALM
PSM, PSD, CSM