SlideShare a Scribd company logo
1 of 53
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!

More Related Content

Similar to Sistemas de Controle de Versão

ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...
ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...
ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...Erivan de Sena Ramos
 
Desenvolvimento colaborativo de Aplicações Web
Desenvolvimento colaborativo de Aplicações WebDesenvolvimento colaborativo de Aplicações Web
Desenvolvimento colaborativo de Aplicações WebNando Sousa
 
Como montar um DevOps Toolchain
Como montar um DevOps Toolchain Como montar um DevOps Toolchain
Como montar um DevOps Toolchain Fabio Reginaldo
 
aGITe antes de versionar
aGITe antes de versionaraGITe antes de versionar
aGITe antes de versionars4nx
 
Gerência de configuração ágil
Gerência de configuração ágilGerência de configuração ágil
Gerência de configuração ágilClaudia Melo
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de ConfiguraçãoWagner Zaparoli
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
 
Monitoramento de malware em Windows NT 6.x - 64bits
Monitoramento de malware em Windows NT 6.x - 64bitsMonitoramento de malware em Windows NT 6.x - 64bits
Monitoramento de malware em Windows NT 6.x - 64bitsArthur Paixão
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de CakephpCauan Cabral
 
Introdução a Grails: Um framework veloz e poderoso
Introdução a Grails: Um framework veloz e poderosoIntrodução a Grails: Um framework veloz e poderoso
Introdução a Grails: Um framework veloz e poderosoBruno Lopes
 
Desconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiDesconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiFelipe Caputo
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiMayara Fernandes
 
Continuous Delivery com ArgoCD
Continuous Delivery com ArgoCDContinuous Delivery com ArgoCD
Continuous Delivery com ArgoCDRodrigo Souza
 
Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Erivelton Silva Rocha
 
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIDevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIAlefe Variani
 
Palestra DevOps para Teste de Software
Palestra DevOps para Teste de SoftwarePalestra DevOps para Teste de Software
Palestra DevOps para Teste de SoftwareJúlio de Lima
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Ramon Durães
 
Implantação de sistemas web
Implantação de sistemas webImplantação de sistemas web
Implantação de sistemas webCleiton Vogel
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de softwareQualister
 

Similar to Sistemas de Controle de Versão (20)

Svn - grupo de estudos sol7
Svn - grupo de estudos sol7Svn - grupo de estudos sol7
Svn - grupo de estudos sol7
 
ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...
ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...
ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...
 
Desenvolvimento colaborativo de Aplicações Web
Desenvolvimento colaborativo de Aplicações WebDesenvolvimento colaborativo de Aplicações Web
Desenvolvimento colaborativo de Aplicações Web
 
Como montar um DevOps Toolchain
Como montar um DevOps Toolchain Como montar um DevOps Toolchain
Como montar um DevOps Toolchain
 
aGITe antes de versionar
aGITe antes de versionaraGITe antes de versionar
aGITe antes de versionar
 
Gerência de configuração ágil
Gerência de configuração ágilGerência de configuração ágil
Gerência de configuração ágil
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
Monitoramento de malware em Windows NT 6.x - 64bits
Monitoramento de malware em Windows NT 6.x - 64bitsMonitoramento de malware em Windows NT 6.x - 64bits
Monitoramento de malware em Windows NT 6.x - 64bits
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de Cakephp
 
Introdução a Grails: Um framework veloz e poderoso
Introdução a Grails: Um framework veloz e poderosoIntrodução a Grails: Um framework veloz e poderoso
Introdução a Grails: Um framework veloz e poderoso
 
Desconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiDesconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em Delphi
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
 
Continuous Delivery com ArgoCD
Continuous Delivery com ArgoCDContinuous Delivery com ArgoCD
Continuous Delivery com ArgoCD
 
Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1
 
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIDevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
 
Palestra DevOps para Teste de Software
Palestra DevOps para Teste de SoftwarePalestra DevOps para Teste de Software
Palestra DevOps para Teste de Software
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
 
Implantação de sistemas web
Implantação de sistemas webImplantação de sistemas web
Implantação de sistemas web
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de software
 

Sistemas de Controle de Versão