CONTROLE DE VERSÃO

O QUE É ?

CONTROLE DE VERSÃO

O QUE É ?

CONTROLE DE VERSÃO

Você sabe "O que é Controle de Versão", e por quê é importante no desenvolvimento de software ?

CONTROLE DE VERSÃO

é um sistema que registra alterações em um arquivo ou conjunto de arquivos ao longo do tempo, para que você possa, se necessário, recuperar e manipular versões específicas ao longo do tempo. Em geral é utilizado em arquivos de código-fonte de software que possuam controle de versão, embora na realidade você possa fazer isso com quase qualquer tipo de arquivo em um computador.

Aplicações

  • Projeto de Software
     
  • Projeto de UX
     
  • Documentação
     
  • Design de Sites
     
  • Dentre outros

Possibilidades

  • reverter para qualquer estado anterior determinados arquivos ou um projeto inteiro
  • comparar as mudanças ao longo do tempo
  • ver quem modificou pela última vez algo que pode estar causando um problema
  • quando e quem introduziu um problema
  • muito mais

S

E

G

U

R

A

N

Ç

A

Tipos de VCS

  • sistemas locais de controle de versão
     
  • sistemas centralizados de controle de versão
     
  • sistemas distribuídos de controle de versão

LOCAIS

  • copiar os arquivos para outro diretório
     
  • muito comum porque é simples
     
  • propensa a erros

LOCAIS

RCS

CENTRALIZADOS

  • colaboração com desenvolvedores em projetos
     
  • Exemplos: Subversion e Perforce
     
  • um único servidor que contém todos os arquivos de controle de versão
     
  • um número X de clientes que usam arquivos a partir do local central

CENTRALIZADOS

checkout

CENTRALIZADOS

checkout

CENTRALIZADOS

checkin

centralizados - vantagens

  • todos sabem o que todos os envolvidos no projeto estão fazendo
     
  • administradores têm controle refinado sobre quem pode realizar quais alterações
     
  • mais fácil de administrar um servidor centralizado do que lidar com bancos de dados locais em cada computador "cliente"

DES

centralizados - DESvantagens

DES

  • ponto único de falha que o servidor centralizado
     
  • inatividade da equipe por tempo de parada
     
  • risco de perda total do histórico

DISTRIBUÍDOS

  • Git, Mercurial, Bazaar ou Darcs
     
  • clientes duplicam localmente o repositório completo
     
  • fácil recuperação - qualquer um dos repositórios de clientes podem ser copiado de volta para o servidor

DISTRIBUÍDOS

DISTRIBUÍDOS

Controle de Versão - O que é

By Ademir Mazer Junior

Controle de Versão - O que é

O que é Controle de Versão em Desenvolvimento de Software? Visão geral dos conceitos

  • 45