SISTEMAS DE
CONTROLE DE
VERSÃO
EQUIPE OS BICHÃO
2
Link para o Blogger
http://osbichao.blogspot.com.br/
Membros
Claudson Martins
Edgar Lima
Guilherme Boroni
Professor Orientador
Rogério P. C. do Nascimento
ROTEIRO
3
0
ROTEIRO
1. História do Controle de Versões;
2. Definição e Tipos Existentes;
3. Funcionamento;
4. Benefícios;
5. Vocabulário Comum;
6. Principais Sistemas;
7. Principais Ferramentas;
8. Conclusão.
4
HISTÓRIA DO
CONTROLE DE
VERSÕES
5
1
HISTÓRIA DO CONTROLE DE VERSÕES
▰ Controle manual ou sem intenção.
▰ SCCS: Source Code Control System (1972).
▰ RCS: Revision Control System (1982).
▰ CVS: Concurrent Version System (1984/1986).
▰ SVN, GIT, MERCURIAL(Anos 2000).
6
DEFINIÇÃO E TIPOS
EXISTENTES
7
2
Como um
software é
concebido?
8
Opção 1:
Opção 2:
9
O QUE SÃO VERSÕES?
10
REVISÕES VARIANTES COOPERAÇÕES
*Imagem retirada do conteúdo de Leonardo Murta.
“É um software que tem a
finalidade de gerenciar
diferentes versões no
desenvolvimento de um
artefato qualquer.
1111
SISTEMA DE CONTROLE DE VERSÃO LOCAL
▰ Versões organizadas em
diretórios?
▰ Lançaram os VCSs locais.
▰ Mais simples e mais frágil.
▰ Um erro pode ser fatal.
▰ Somente um usuário.
12
SISTEMA DE CONTROLE DE VERSÃO CENTRALIZADO
▰ Múltiplos usuários.
▰ Dependência do servidor.
▰ Um erro pode ser fatal.
13
SISTEMA DE CONTROLE DE VERSÃO DISTRIBUÍDO
▰ Múltiplos usuários.
▰ Todos os usuários possuem o
respositório.
▰ Redução de custos com
servidor.
▰ Mais complexo.
14
FUNCIONAMENTO
15
3
FUNCIONAMENTO GERAL
▰ Versionamento é composto de dois
elementos: repositório e área de trabalho.
16
FUNCIONAMENTO NUM SISTEMA CENTRALIZADO
▰ Apenas um repositório (no servidor) e várias
áreas de trabalho (usuários).
17
FUNCIONAMENTO NUM SISTEMA DISTRIBUÍDO
▰ Vários repositórios autônomos e
independentes, cada um contendo uma área
de trabalho acoplada.
18
FUNCIONAMENTO NUM SISTEMA DISTRIBUÍDO
▰ A sincronização acontece de
repositório a repositório e não
existe, em princípio, um
repositório mais importante
que o outro.
▰ Repositório central pode ser
usado.
19
BENEFÍCIOS
20
4
BENEFÍCIOS
▰ Controle de histórico.
▰ Trabalho em equipe.
▰ Marcação e resgate de versões estáveis.
▰ Ramificação de projeto.
▰ Segurança.
▰ Rastreabilidade.
▰ Organização.
▰ Confiança.
21
VOCABULÁRIO
COMUM
22
5
VOCABULÁRIO COMUM
▰ Update
▰ Checkout/Clone
▰ Conflict
▰ Commit
▰ Diff
▰ Export
▰ Import
▰ Tag
▰ Merge
▰ Reverse integration
▰ Head
▰ Branch
▰ Repository
▰ Conflict resolve
▰ Revision
▰ Lock
▰ Pull
▰ Push 23
PRINCIPAIS SISTEMAS
24
6
SOLUÇÕES COMERCIAIS
Microsoft Visual
SourceSafe
Produto da Microsoft
para controle de
versão, integrado a
muitas IDEs da
empresa.
Rational ClearCase
Produto da IBM para
controle de versão.
StarTeam
Produto criado pela
Borland para controle
de versão e de equipe.
Agora pertence a
Micro Focus.
25
SOLUÇÕES LIVRES
▰ Concurrent Version System (CVS);
▰ Apache Subversion (SVN);
▰ Git;
▰ Mercurial;
▰ Revision Control System (RCS);
▰ Bazaar.
26
Disponível em <https://insights.stackoverflow.com/survey/2017> 27
Stack Overflow Developer Survey 2017
CONCURRENT VERSION SYSTEM (CVS)
Características
▰ Arquitetura cliente-servidor;
▰ Lançado em junho de 1986;
▰ Fluxos alternativos de desenvolvimento;
▰ Ideia de um repositório no esquema de
árvore;
▰ Versionamento dos commit’s por arquivo.
28
CONCURRENT VERSION SYSTEM (CVS)
Limitações
▰ Arquivos não podem ser renomeados no cliente;
▰ Não permite mover ou renomear diretórios;
▰ Não permite checkout reservados;
▰ Lento.
29
😱
SUBVERSION (SVN)
Características
▰ Arquitetura cliente-servidor;
▰ Lançado em agosto de 2001;
▰ Projetado para substituir o CVS;
▰ Conceito de revisões.
30
SUBVERSION (SVN)
Vantagens
▰ Versionamento de diretórios;
▰ Suporte a renomeação, cópia e exclusão;
▰ Commits atômicos;
▰ Merge tracking;
▰ Bloqueio de arquivos;
▰ Resolução de conflitos interativos. 31
Git
Características
▰ Arquitetura descentralizada;
▰ Lançado em dezembro de 2005;
▰ Envio de arquivos em duas fases;
▰ Lida melhor com fluxos complexos.
32
Git
Vantagens
▰ Otimizado para funcionar pela Internet;
▰ Possui um merge mais completo;
▰ Possui mais metadados locais e melhor auditoria;
▰ Cada cópia do repositório funciona como um backup.
33
PRINCIPAIS
FERRAMENTAS: GITHUB
E BITBUCKET.
34
7
GIT VS SVN
▰ Descentralização.
▰ Ferramentas.
35
GITHUB
36
37
38
39
40
41
42
43
44
BITBUCKET
45
46
47
48
49
50
CONCLUSÃO
51
8
REFERÊNCIAS
▰ https://git-scm.com
▰ https://blog.pronus.io/posts/vanta
gens-e-desvantagens-do-controle-
de-versao-distribuido/
▰ https://pt.wikipedia.org/wiki/Siste
ma_de_controle_de_versões
▰ http://www.ic.ufal.br/evento/cbsoft
2014/minicursos/minicurso_01.pdf
▰ https://bitbucket.org/ 52
53
OBRIGADO!

Sistemas de Controle de Versão