1 Comentário

Controle de versões Parte III – DVCS

DVCS
Este post faz parte da série Controle de versões. Leia também os outros posts da série:

No último post foi discutido sobre os primeiros sistemas de controle de versões (CVS) que possuíam uma arquitetura cliente-servidor, suas vantagens e desvantagens. Essa tecnologia vem aos poucos sendo substituída por uma nova geração de sistemas de controle de versões, chamada de DVCS – Distributed Version Control System, em tradução livre, sistemas de controle de versão distribuídos.

Segundo Andrew Tanenbaum, um sistema distribuído se define como uma coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente. Em outras palavras, em um sistema distribuído não existe a definição de um computador central que atua como servidor. Todos os computadores são, ao mesmo tempo, cliente e servidor.

Existem vários sistemas DVCS e os dois projetos de código aberto mais conhecidos são Mercurial e Git, sendo este último mais popular por ter sido desenvolvido por Linus Torvalds, o qual será detalhado neste post.

As principais vantagens são:

  • Gratuito;
  • Rápido;
  • Desenvolvimento distribuído;
  • Permite desenvolver sem estar conectado na rede;
  • Excelente documentação online;
  • Criar branches é fácil e rápido.

As principais desvantagens são:

  • Mais complexo comparado a CVS;
  • Interface gráfica ainda em desenvolvimento.

No dia a dia isso se resume a um maior esforço para dominar a ferramenta, mas, em contrapartida, o sistema oferece uma maior flexibilidade e versatilidade. Um sistema DVCS permite cada desenvolvedor ter uma cópia local de todo o histórico dos arquivos, acarretando em uma maior autonomia para o desenvolvedor. Isso é necessário principalmente em equipes que trabalham no código em paralelo. Uma vez que cada usuário tem uma cópia local, este pode desenvolver normalmente e salvar todas as modificações mesmo não estando conectado em rede, sendo necessário apenas no momento de enviar as alterações.

Os comandos básicos são:

  • git add – Dentre outras funções, esse comando adiciona um arquivo em uma lista de arquivos a ser monitorado. Também funciona para salvar o estado de um arquivo que está sendo monitorado (stage);
  • git commit – Cria um ponto de referência com o estado atual de todos os arquivos;
  • git rm – Remove um arquivo da lista de arquivos a serem monitorados;
  • git status – Exibe o status dos arquivos (não monitorados, modificados e não salvos, salvos e prontos para commit, etc);
  • git branch – Cria ou muda de ramo de desenvolvimento. Também serve para listar todos os ramos existentes;
  • git push – Envia as modificações para o servidor;
  • git pull – Busca modificações do servidor.

Como mencionado, o git é uma ferramenta muito versátil e possibilita diversas maneiras de como organizar o versionamento e a ramificação de um projeto. Neste post (em inglês), o autor sugere uma forma muito eficaz de como usar o git, conhecido como git flow.

Este post mostra onde hospedar o código fonte com as características de cada um. Também existe a possibilidade de hospedar todo o código internamente no servidor da própria empresa. Algumas soluções free são Gitolite, Gitorious e Gitblit. Já pago existe o Stash que oferece o Source Tree como ferramenta gráfica para facilitar o trabalho do dia a dia. Para quem vem do SVN, existe o Git tortoise que é gratuito.

E você, usa ou já usou algum sistema de controle distribuído? O que achou? E o leitor que nunca usou, qual o motivo?

Referências:

http://git-scm.com/book/pt-br
https://code.google.com/p/tortoisegit/

 Imagem: http://www.appfusions.com/

Outros artigos da série

<< Controle de versões Parte II – CVS/SVNTutorial git >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Software » Controle de versões Parte III – DVCS
Comentários:
Notificações
Notificar
guest
1 Comentário
recentes
antigos mais votados
Inline Feedbacks
View all comments
trackback
20/02/2015 03:10

[…] post anterior [1] foi abordado de maneira superficial o funcionamento básico do git. Vamos dar continuidade e […]

Talvez você goste:

Séries



Outros da Série

Menu

WEBINAR
 
Porque o RTOS não faz o que eu quero?

Data: 28/10 às 19:30h - Apoio: Mouser Electronics
 
INSCREVA-SE AGORA »



 
close-link