Deu Merge? Use GIT!

Todo mundo já se descabelou bastante com a necessidade de fazer algum merge no projeto. Com duas pessoas no desenvolvimento é comum acontecer esse problema, porém com mais pessoas a coisa complica. Quantas vezes você já teve que parar o que estava fazendo para atender uma necessidade urgente do cliente? Nesses casos você perde tempo criando branches no Subversion/CVS?

O Subversion foi criado para melhorar as funcionalidades do CVS, porém a idéia desses controladores já nasceu errada. Por isso o Subversion não presta! O Subversion foi pensado para gerenciar Branches,  o Git foi pensado para gerenciar merges. 

O Subversion é um modelo centralizado de repositório. Isso significa que se ele ficar fora do ar, ninguém mais acessa o repositório. No Git isso não acontece, pois ele segue um modelo distribuído. Existe um repositório central, porém cada projeto é um repositório completo e portanto pode servir de base para outros projetos.

GIT é um controlador de versão com foco na rapidez e foi feito para atender grandes projetos e as reais necessidades do dia-dia. Ele foi criado por nada menos que Linus Tovalds em 2005 com o objetivo de manter o kernel do Linux. O diferencial do Git é ser um sistema de controle de versão distribuído e possibilitar fazer Branchs e Merges de maneira simples.

No Git existe o conceito de Commits offline. Todas as operações como commit, update, diff podem ser feitos local na própria máquina. Fazer branches no Git é muito fácil e rápido, além de possibilitar fazer merges muito facilmente entre eles. Dessa forma, quando trabalhamos com o Git, nos acostumamos a criar um branch para cada feature. E se estivermos desenvolvendo uma feature, pode haver a necessidade de parar tudo para fazer uma correção emergencial. O que fazer nesses casos? O Git tem o comando stash que salva suas alterações para focar no que é necessário. Após fazer a correção emergencial, um simples comando volta todas as alterações que estavamos fazendo antes.

Github é quase um ‘social networking para programadores’ que funciona também como um repositório Git. Ele possibilita facilmente trabalhar com projetos Open Source pois é simples de fazer um fork num projeto e começar a trabalhar nas features desse projeto.

Existem GUIs para o Git como por exemplo: git-gui e para quem usa Mac tem o GitNub.

Se você não quer migrar seu projeto porque está no Subversion, isso não é barreira. Existe uma forma de integrá-los com git-svn.

Caso encontrar problemas em convencer pessoas a usar o Git, tem esse artigo aqui.

O Akita falou bastante sobre o Git e eu recomendo a leitura desses quatro posts aqui.

Outra coisa que recomendo é que assistam a apresentação que o Linus Tovalds fez no Google. Ele fala coisas como: “os criadores do Subversion são idiotas!” . Assistam que é muito engraçado!


Publicado em git. Tags: , , . 1 Comment »

Uma resposta to “Deu Merge? Use GIT!”

  1. Comendo pelas Beiradas (Rails) « Manifesto na Web! Says:

    […] de Time-to-Market, o Rails sai muito na frente do Java. Por isso um time que trabalha com Rails + Git tem muito para ser verdadeiramente ágil. As empresas no Brasil que usam Rails ainda são muito […]


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: