SlideShare una empresa de Scribd logo
1 de 67
Descargar para leer sin conexión
Sistema de Versionamento de Código
Nome: Acácio Fernandez Egas Junior ­ 0821193
Nome: Fernando Queiroz Santana ­ 0820864
Nome: Francisco J. de Oliveira Castilho ­ 098161
Nome: Gabriel Marcos Santos Rubens ­ 0820589
Nome: Marcio Lorran dos Reis ­ 0820875
Nome: Walter Dalpra de Souza – 103271
Nome: Wellington do Rosário Biliera ­ 0820307
Sistema de Versionamento de Código
É um sistema que atribui nomes 
(marcações) as alterações feitas no 
“código fonte”
Sistema de Controle de Versão - CVS, SVN e GIT
Tropa de Elite 2!
Como Capitão Nascimento adotou um 
controlador de versões no BOPE
“Missão dada é missão cumprida”
Vamos desenvolver um
sistema novo.
E ele vai ser...
Ok, minha equipe vai iniciar o
desenvolvimento amanhã
Problema básico
Salvar
Problema básico
Salvar Voltar Cancelar
Problema básico
Salvar Voltar Cancelar
Problema básico
Vamos controlar as versões
Com arquivos zipados
Gambiarra de Versionamento de Código
Gambiarra de Versionamento de Código
V 0.1 V 0.2 V 1.0
Gambiarra de Versionamento de Código
v
Sistema de Controle de Versão - CVS, SVN e GIT
Cadê a versão sem a alteração
na lógica de login
Está guardada...
Em um zip!
v
Em qual zip está?
Fala!
Lei de Murphy
“Se algo pode dar errado, dará errado da 
pior maneira, no pior momento e de modo 
a causar o maior estrago possível”
Lei de Clark
“Murphy era otimista”
Lei do Capitão Nascimento
“Capitão vai dar merda, capitão. […]
Capitão, já disse que vai dar merda!”
Podemos utilizar um sistema
para controlar as versões
Lei de Murphy
“Se algo pode dar errado, dará errado da 
pior maneira, no pior momento e de modo 
a causar o maior estrago possível”
Lei de Clark
“Murphy era otimista”
Lei do Capitão Nascimento
“Capitão vai dar merda, capitão. […]
Capitão, já disse que vai dar merda!”
Qual a vantagem de utilizar
um sistema pra controlar...
Sistemas de Controle de Versão
Trabalhar com equipes grandes
Equipes distribuídas
Colaboração no desenvolvimento
Viabiliza OpenSource
Sistemas de Controle de Versão
Concurrent Version System (CVS)
Subversion (SVN)
GIT
Sistemas de Controle de Versão
Centralizado:
Concurrent Version System (CVS)
Subversion (SVN)
Descentralizado:
GIT
Centralizado
Descentralizado
De hoje em diante nós vamos
trabalhar com o CVS
Capitão...
vai dar merda,
capitão
Concurrent Version System (CVS)
Publicado em 1983
Revision Control System (RCS)
O primeiro amplamente adotado
Melhor que não ter nada ou não ;)
Concurrent Version System (CVS)
cvs checkout: Baixa do servidor
cvs update: Atualiza com o servidor
cvs commit: Envia para o servidor
Concurrent Version System (CVS)
cvs add: Adiciona ao controle de versão
cvs remove: Remove do controle de versão
svn diff: Verificar diferença com o servidor
Concurrent Version System (CVS)
Foi o primeiro passo, mas...
Não pode renomear
Não pode mover
Muitos conflitos
Amor, no lugar do CVS você pode
utilizar a SVN
Nunca mais fale do meu trabalho!
Entendeu?!?!
A tropa é minha.
CVS não deu certo.
Vamos pro SVN!
Eu já disse
que vai dar merda!
Subversion (SVN)
Evolução do CVS
Lançado em 2000
Correção de Bugs do CVS
Subversion (SVN)
Merge melhor que do CVS
Interfaces gráficas (TortoiseSVN)
Substituto direto do CVS
Subversion (SVN)
svn checkout: Baixa do servidor
svn update: Atualiza com o servidor
svn commit: Envia para o servidor
Subversion (SVN)
svn add: Adiciona ao controle de versão
svn remove: Remove do controle de versão
svn diff: Verificar diferença com o servidor
Subversion (SVN)
Hospedagem
Quem sabe utilizar o Git?
Fala porr#!!!
Ele sabe! Ele sabe!
Vou ter que convencer a tropa a
adotar essa merda!
Melhor levar o “caveirabook” pra fazer
o código na hora!
Lei de Murphy
“Se algo pode dar errado, dará errado da 
pior maneira, no pior momento e de modo 
a causar o maior estrago possível”
Lei de Clark
“Murphy era otimista”
Lei do Capitão Nascimento
“Capitão vai dar merda, capitão. […]
Capitão, já disse que vai dar merda!”
Agora minha equipe vai
utilizar git
Lei de Murphy
“Se algo pode dar errado, dará errado da 
pior maneira, no pior momento e de modo 
a causar o maior estrago possível”
Lei de Clark
“Murphy era otimista”
Lei do Capitão Nascimento
“Capitão vai dar merda, capitão. […]
Capitão, já disse que vai dar merda!”
Quem criou o git?
E como funciona?
Sistema de Controle de Versão - CVS, SVN e GIT
Git
Merge++
Ferramenta git­svn
Commit em ordem (Rebase)
Todo histórico
Lei de Murphy
“Se algo pode dar errado, dará errado da 
pior maneira, no pior momento e de modo 
a causar o maior estrago possível”
Lei de Clark
“Murphy era otimista”
Lei do Capitão Nascimento
“Capitão vai dar merda, capitão. […]
Capitão, já disse que vai dar merda!”
Eu vou ligar o “caveirabook”
pra fazer uma demo...
Git
Fluxo de trabalho  offline (master):
git init
touch README
git add .
git commit ­m 'mensagem'
Git
Trabalhando com branch:
git checkout ­b desenv
git add .
git commit ­m 'mensagem'
Git
Trabalhando com branch:
git checkout ­b desenv
git add .
git commit ­m 'mensagem'
Git
Trabalhando com branch:
git checkout master
git merge desenv
Lei de Murphy
“Se algo pode dar errado, dará errado da 
pior maneira, no pior momento e de modo 
a causar o maior estrago possível”
Lei de Clark
“Murphy era otimista”
Lei do Capitão Nascimento
“Capitão vai dar merda, capitão. […]
Capitão, já disse que vai dar merda!”
Mas... Onde vai ficar
hospedado o código fonte?
Sistema de Controle de Versão - CVS, SVN e GIT
Git ­ GitHub
Orkut de desenvolvedores
Compartilhar código
Estudar 
Você ainda não tem uma conta?
Lei de Murphy
“Se algo pode dar errado, dará errado da 
pior maneira, no pior momento e de modo 
a causar o maior estrago possível”
Lei de Clark
“Murphy era otimista”
Lei do Capitão Nascimento
“Capitão vai dar merda, capitão. […]
Capitão, já disse que vai dar merda!”
Ok, mas da uma demo de
Como trabalhar com github.
Git ­ GitHub
Trabalhando com GitHub.com
git clone git@github.com:nascimento/bope.git
git checkout -b desenv
Adiciona/Deleta/Modifica (git add)
git commit -m “mensagem” (commit offline)
Git ­ GitHub
Outros desenvolvendo no github
git pull origin master
git checkout desenv
git rebase master
Git ­ GitHub
git checkout master
git merge desenv
git push origin master
Continua...
Lei de Murphy
“Se algo pode dar errado, dará errado da 
pior maneira, no pior momento e de modo 
a causar o maior estrago possível”
Lei de Clark
“Murphy era otimista”
Lei do Capitão Nascimento
“Capitão vai dar merda, capitão. […]
Capitão, já disse que vai dar merda!”
WTF...
Eu apareci várias vezes nesse
PPT e com essa cara de bunda!
E não me deram uma fala
Agora o padrão do batalhão
E o git com github
Agora só vou utilizar
sistemas
descentralizados!
O próximo que falar em
CVS ou SVC vai pro
saco (ou vassoura)!
Sistema de Controle de Versão - CVS, SVN e GIT
Dúvidas

Más contenido relacionado

Destacado

Lista dos beneficiados 'Minha Casa Minha Vida"- Fortaleza
Lista dos beneficiados 'Minha Casa Minha Vida"- FortalezaLista dos beneficiados 'Minha Casa Minha Vida"- Fortaleza
Lista dos beneficiados 'Minha Casa Minha Vida"- FortalezaAndréa Saraiva
 
SVN - Subversion: Guia de sobrevivência do usuário
SVN - Subversion: Guia de sobrevivência  do usuárioSVN - Subversion: Guia de sobrevivência  do usuário
SVN - Subversion: Guia de sobrevivência do usuárioFabrício Campos
 
Github git-cheat-sheet
Github git-cheat-sheetGithub git-cheat-sheet
Github git-cheat-sheetAbdul Basit
 
Apresentação do SAEO na Administração Pública
Apresentação do SAEO na Administração PúblicaApresentação do SAEO na Administração Pública
Apresentação do SAEO na Administração PúblicaMarco Rosner
 
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version ControlJoomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version ControlJoomla!Day Brasil
 
QConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestruturaQConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestruturaDiego Pacheco
 
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...especificacoes.com
 
GCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisGCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisMisael Santos
 
[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de Versão[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de VersãoMarco Rosner
 
Workshop sistema de versionamento de código - git
Workshop  sistema de versionamento de código - gitWorkshop  sistema de versionamento de código - git
Workshop sistema de versionamento de código - gitThiago Filadelfo
 
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataformaWine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataformaPaulo César M Jeveaux
 
Controle de Mudanças com GitHub
Controle de Mudanças com GitHubControle de Mudanças com GitHub
Controle de Mudanças com GitHubBruno Furtado
 
GCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS ÁgilGCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS ÁgilMisael Santos
 
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVNControle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVNFelipe Queiroz
 
Introdução ao Sistema de Controle de Versão
Introdução ao Sistema de Controle de VersãoIntrodução ao Sistema de Controle de Versão
Introdução ao Sistema de Controle de VersãoFernando Machado
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Diego Pacheco
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versãoMarcos Pessoa
 

Destacado (20)

Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Lista dos beneficiados 'Minha Casa Minha Vida"- Fortaleza
Lista dos beneficiados 'Minha Casa Minha Vida"- FortalezaLista dos beneficiados 'Minha Casa Minha Vida"- Fortaleza
Lista dos beneficiados 'Minha Casa Minha Vida"- Fortaleza
 
SVN - Subversion: Guia de sobrevivência do usuário
SVN - Subversion: Guia de sobrevivência  do usuárioSVN - Subversion: Guia de sobrevivência  do usuário
SVN - Subversion: Guia de sobrevivência do usuário
 
Github git-cheat-sheet
Github git-cheat-sheetGithub git-cheat-sheet
Github git-cheat-sheet
 
Apresentação do SAEO na Administração Pública
Apresentação do SAEO na Administração PúblicaApresentação do SAEO na Administração Pública
Apresentação do SAEO na Administração Pública
 
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version ControlJoomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
 
QConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestruturaQConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestrutura
 
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
 
Controle de versão com GIT
Controle de versão com GITControle de versão com GIT
Controle de versão com GIT
 
GCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisGCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos Principais
 
[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de Versão[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de Versão
 
Workshop sistema de versionamento de código - git
Workshop  sistema de versionamento de código - gitWorkshop  sistema de versionamento de código - git
Workshop sistema de versionamento de código - git
 
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataformaWine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
 
Controle de Mudanças com GitHub
Controle de Mudanças com GitHubControle de Mudanças com GitHub
Controle de Mudanças com GitHub
 
GCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS ÁgilGCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS Ágil
 
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVNControle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
 
Introdução ao Sistema de Controle de Versão
Introdução ao Sistema de Controle de VersãoIntrodução ao Sistema de Controle de Versão
Introdução ao Sistema de Controle de Versão
 
Alm open source
Alm open sourceAlm open source
Alm open source
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versão
 

Más de Gabriel Rubens

Aprendendo a aprender! Técnicas compiladas
Aprendendo a aprender! Técnicas compiladasAprendendo a aprender! Técnicas compiladas
Aprendendo a aprender! Técnicas compiladasGabriel Rubens
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Gabriel Rubens
 
Planning Poker - Scrum
Planning Poker - ScrumPlanning Poker - Scrum
Planning Poker - ScrumGabriel Rubens
 
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013Gabriel Rubens
 
Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Profissão programador práticas para melhoria contínua fatec pg setembro 2013Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Profissão programador práticas para melhoria contínua fatec pg setembro 2013Gabriel Rubens
 
Scrum - Primeiros Passos - Curso de Férias Fatec Praia Grande
Scrum - Primeiros Passos - Curso de Férias Fatec Praia GrandeScrum - Primeiros Passos - Curso de Férias Fatec Praia Grande
Scrum - Primeiros Passos - Curso de Férias Fatec Praia GrandeGabriel Rubens
 
Criando uma cultura de aprendizagem
Criando uma cultura de aprendizagemCriando uma cultura de aprendizagem
Criando uma cultura de aprendizagemGabriel Rubens
 

Más de Gabriel Rubens (7)

Aprendendo a aprender! Técnicas compiladas
Aprendendo a aprender! Técnicas compiladasAprendendo a aprender! Técnicas compiladas
Aprendendo a aprender! Técnicas compiladas
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
 
Planning Poker - Scrum
Planning Poker - ScrumPlanning Poker - Scrum
Planning Poker - Scrum
 
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
Profissoa programador-praticas-para-melhoria-continua-fatec-santos-outubro-2013
 
Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Profissão programador práticas para melhoria contínua fatec pg setembro 2013Profissão programador práticas para melhoria contínua fatec pg setembro 2013
Profissão programador práticas para melhoria contínua fatec pg setembro 2013
 
Scrum - Primeiros Passos - Curso de Férias Fatec Praia Grande
Scrum - Primeiros Passos - Curso de Férias Fatec Praia GrandeScrum - Primeiros Passos - Curso de Férias Fatec Praia Grande
Scrum - Primeiros Passos - Curso de Férias Fatec Praia Grande
 
Criando uma cultura de aprendizagem
Criando uma cultura de aprendizagemCriando uma cultura de aprendizagem
Criando uma cultura de aprendizagem
 

Sistema de Controle de Versão - CVS, SVN e GIT