Já usou GIT? Veja como funciona esse sistema de controle de versões.

15, julho 2012   •   (Não há comentários)   •   Autor: Thiago Dieb

Após quase um mês sem escrever, volto com esse pequeno arquivo sobre Git.

Em uma de minhas aulas vi a necessidade de mostrar para meus alunos os benefícios do versionamento de código. Muito deles não conheciam o que era ou para quer servia.

Por isso achei interessante apresentar rapidamente o que é, e como funciona os sistemas de controle de versão, especialmente o GIT.

O que é versionamento?

Controle de versão é um sistema que grava as mudanças ocorridas nos arquivos em relação ao tempo para que você possa recuperar versões anteriores. No nosso caso, como desenvolvedores, iremos versionar código-fonte, embora você possa fazê-lo com qualquer tipo de arquivo.

Ferramentas

Hoje temos diversas ferramentas para versionamento, cada uma com as suas peculiaridades. A seguir tenho a relação de algumas dessas ferramentas:

Soluções comerciais

  • Microsoft Visual SourceSafe (VSS)
  • Rational ClearCase
  • Borland StarTeam
  • PVCS

Soluções livres

  • Concurrent Version System (CVS)
  • Subversion (SVN)
  • Git
  • MediaWiki
  • GNU CSSC
  • Revision Control System
  • Bazaar
  • Darcs
  • Mercurial
  • Monotone
  • SVK

E porque usar Git?

No início tive um pequeno receio em mudar de ferramenta de versionamento, sempre utilizei svn e csv, e  de uma hora para outra me deparei com a necessidade de mudar para GIT por questão de padrões definidos em alguns projetos no qual trabalhava.

Não demorei muito para me adequar as novas funcionalidades, porém passei um tempinho para entender como realmente a ferramenta trabalha.

O GIT foi desenvolvido visando a distribuição dos repositórios e a rapidez no momentos de baixar e subir arquivos.

Um pouco da história do GIT.

O Kernel do Linux é definitivamente um projeto opensource de larga escala. Na maior parte de seu ciclo de vida mudanças no software foram passadas adiante como patches ou arquivos. Em 2002 o projeto começou a utilizar um DVCS proprietário chamado BitKeeper.

Em 2005 a relação entre a comunidade Linux e o empresa dona do BitKeeper desandou, quando a ferramenta deixou de ser free para esta comunidade. Isto fez com que a comunidade desenvolvesse sua própria ferramenta baseada nos princípios e características do BitKeeper.

Em DVCS (Distributed Version Control Systems) os clientes não fazem simplesmente um check-out dos arquivos. Na verdade ele espelha toda o repositório. Desta forma se algum server cair, qualquer um dos clientes pode recupera-lo, copiando o repositório novamente e restaurando-o. Entre exemplos deste sistema estão Mercurial, Git.

Como o GIT funciona ?Exemplo do versionamento do git, de forma distribuida

Este tipo de sistema, como o Git, trabalha muito bem com repositórios remotos. Assim conseguimos compartilhar e colaborar com diversos grupos e pessoas distintas de maneiras iguais em um mesmo projeto.

Cada projeto é um repositório completo contendo todo o histórico, sem depender de acesso à rede ou um repositório central, assim os commits podem ser feitos em modo offline e quando necessário pode repassar os commits para outros repositório. Permitindo atingir fluxos de trabalho que não são possível em sistemas centralizados

Seus diferenciais:

  • Velocidade
  • Design simples
  • Suporte forte para desenvolvimento não linear
  • Totalmente distribuído
  • Habilidade para lidar com grande volume de maneira eficiente
Nos próximos artigos deve demostrar como podemos utilizar os benefícios do Git.
Até a próxima.

Fontes:

http://progit.org/