SlideShare a Scribd company logo
1 of 61
Download to read offline
e a importância de
versionar um projeto
Para que serve?
•
•
•
•
•

Controle de histórico
Trabalho em equipe
Marcação de versões estáveis
Resgate de versões estáveis
Ramificação de projeto
Por que
aprender?
Já pensou em trabalhar em um
projeto com várias pessoas
trabalhando no mesmo código?
Já pensou em trabalhar em um
projeto que possui MILHÕES de
linhas de código?
Já pensou em trabalhar com
várias pessoas ao redor do
mundo?
Na hora de lançar uma versão

TUDO PODE DAR ERRADO
Sistemas de versionamento
são mais comuns do que
você imagina!

Inclusive você provavelmente já usou
algum deles sem saber
Você provavelmente já
precisou versionar algo!
Quem nunca?
Arquitetura dos sistemas de
controle de versão e um
pouco de história
Arquiteturas
Cliente/Servidor
• 1986 – CVS
• 2001 – SVN
Cliente/Servidor
Arquiteturas
Cliente/Servidor
• 1986 – CVS
• 2001 – SVN

Distribuído
• 2005 – GIT
Distribuído
Porquê surgiu o GIT?
Critérios para criar o GIT
1) Tomar o CVS como um exemplo do
que não fazer. Na dúvida, tomar
exatamente a decisão contrária.
2) Suportar um fluxo distribuído
3) Várias firmes proteções contra
corrompimento de arquivos, seja
por acidente ou origem maldosa
4) Alta performance
Tempo de desenvolvimento
• 3 de Abril de 2005 – Projeto começou
• 6 de Abril de 2005 – Projeto foi anunciado
• 7 de Abril de 2005 – O Git já estava sendo
usado para versionar o proprio Git (4 dias)
• 18 de Abril de 2005 – Já era possivel fazer
merge entre os branchs (15 dias)
• 29 de Abril de 2005 – Torvalds atingiu o seu
objetivo de performance (26 dias)
Quem usa?
•
•
•
•
•
•
•
•

Facebook
Android
Mozilla
Linkedin
Arch Linux
jQuery
PHP
Perl

• Google
• Twitter
• ASP.NET
• Netflix
• PostgreSQL
• Ruby on Rails
• Fedora
E vários outros...
Performance
Fonte: http://git-scm.com/about/small-and-fast
Branch
Branch
Merge
Stash
GitHub é o melhor lugar
para compartilhar código
com amigos, colegas de
trabalho, colegas e
estranhos.
Há 4,3 milhões de
desenvolvedores
colaborando agora, através
de 8,7 milhões de
repositórios
Os
desenvovedores
estão no Github
E mais outros 4,3 milhões de
desenvolvedores
As empresas
estão no
Github
As empresas
estão
contratando
através do
Github
Contribua com projetos
open source
Diff de Imagens
Diff 3D
Comece
agora
mesmo!
Alternativas de
hospedagem
gratuita para
repositórios Git
Referências
•
•
•
•
•
•
•
•
•
•
•

http://try.github.io
http://git-scm.com
http://git-scm.com/documentation
http://git-scm.com/book/en/Getting-Started
http://training.github.com
http://github.com
http://bitbucket.org
https://jobs.github.com
http://gitref.org
https://www.codeschool.com/courses/try-git
http://gitimmersion.com/
Guilherme Farias
•
•
•
•

twitter.com/guiky
slideshare.net/guiky
guilhermefarias.com.br
github.com/guilhermefarias
Importância do versionamento de projetos

More Related Content

What's hot

TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Javatdc-globalcode
 
Como colaborar com projetos opensource com o GitHub
Como colaborar com projetos opensource com o GitHubComo colaborar com projetos opensource com o GitHub
Como colaborar com projetos opensource com o GitHubJulio Monteiro
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Javatdc-globalcode
 
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...Stefan Teixeira
 
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de TestesVR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de TestesStefan Teixeira
 
Minas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustMinas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustStefan Teixeira
 
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...tdc-globalcode
 
Como participar de projetos Open Source no Github?
Como participar de projetos Open Source no Github?Como participar de projetos Open Source no Github?
Como participar de projetos Open Source no Github?Guilherme Farias
 
Precisamos falar sobre teste de infra
Precisamos falar sobre teste de infraPrecisamos falar sobre teste de infra
Precisamos falar sobre teste de infraRafael Gomes
 
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCCTDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCCStefan Teixeira
 
Slide PyQt versus Pyside
Slide PyQt versus PysideSlide PyQt versus Pyside
Slide PyQt versus PysideWill Filho
 
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnitAgile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnitStefan Teixeira
 
Linux day 2019 Unip (#devops)
Linux day 2019  Unip (#devops)Linux day 2019  Unip (#devops)
Linux day 2019 Unip (#devops)Rafael Zago
 
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Renato Groff
 
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018Renato Groff
 
TDC 2016 Floripa - Criando APIs REST em minutos com Spark + Java 8
TDC 2016 Floripa - Criando APIs REST em minutos com Spark + Java 8TDC 2016 Floripa - Criando APIs REST em minutos com Spark + Java 8
TDC 2016 Floripa - Criando APIs REST em minutos com Spark + Java 8Stefan Teixeira
 
Testes com xUnit + Coding Dojo
Testes com xUnit + Coding DojoTestes com xUnit + Coding Dojo
Testes com xUnit + Coding DojoLetticia Nicoli
 

What's hot (20)

TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Java
 
Como colaborar com projetos opensource com o GitHub
Como colaborar com projetos opensource com o GitHubComo colaborar com projetos opensource com o GitHub
Como colaborar com projetos opensource com o GitHub
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Java
 
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
 
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de TestesVR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
 
Seminário: Delphi
Seminário: DelphiSeminário: Delphi
Seminário: Delphi
 
Minas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustMinas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com Locust
 
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
 
Como participar de projetos Open Source no Github?
Como participar de projetos Open Source no Github?Como participar de projetos Open Source no Github?
Como participar de projetos Open Source no Github?
 
Precisamos falar sobre teste de infra
Precisamos falar sobre teste de infraPrecisamos falar sobre teste de infra
Precisamos falar sobre teste de infra
 
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCCTDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
TDC 2016 SP - Cobertura de código de procedures T-SQL com SQLCC
 
Slide PyQt versus Pyside
Slide PyQt versus PysideSlide PyQt versus Pyside
Slide PyQt versus Pyside
 
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnitAgile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit
Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit
 
Linux day 2019 Unip (#devops)
Linux day 2019  Unip (#devops)Linux day 2019  Unip (#devops)
Linux day 2019 Unip (#devops)
 
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
 
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018
Docker + Bancos de Dados: isto é possível? - Databases SP - Março-2018
 
Go git - Presentation @Navita
Go git - Presentation @NavitaGo git - Presentation @Navita
Go git - Presentation @Navita
 
Shippable? Snap-ci? Travis?
Shippable? Snap-ci? Travis?Shippable? Snap-ci? Travis?
Shippable? Snap-ci? Travis?
 
TDC 2016 Floripa - Criando APIs REST em minutos com Spark + Java 8
TDC 2016 Floripa - Criando APIs REST em minutos com Spark + Java 8TDC 2016 Floripa - Criando APIs REST em minutos com Spark + Java 8
TDC 2016 Floripa - Criando APIs REST em minutos com Spark + Java 8
 
Testes com xUnit + Coding Dojo
Testes com xUnit + Coding DojoTestes com xUnit + Coding Dojo
Testes com xUnit + Coding Dojo
 

Viewers also liked

FirefoxOS - A plataforma Open Web
FirefoxOS - A plataforma Open WebFirefoxOS - A plataforma Open Web
FirefoxOS - A plataforma Open WebGuilherme Farias
 
Aplicações hibridas usando Phonegap
Aplicações hibridas usando PhonegapAplicações hibridas usando Phonegap
Aplicações hibridas usando PhonegapGuilherme Farias
 
FirefoxOS - a web como plataforma
FirefoxOS - a web como plataformaFirefoxOS - a web como plataforma
FirefoxOS - a web como plataformaGuilherme Farias
 
Aplicações Web Isomórficas
Aplicações Web IsomórficasAplicações Web Isomórficas
Aplicações Web IsomórficasGuilherme Farias
 

Viewers also liked (6)

FirefoxOS - A plataforma Open Web
FirefoxOS - A plataforma Open WebFirefoxOS - A plataforma Open Web
FirefoxOS - A plataforma Open Web
 
DDoS
DDoSDDoS
DDoS
 
Aplicações hibridas usando Phonegap
Aplicações hibridas usando PhonegapAplicações hibridas usando Phonegap
Aplicações hibridas usando Phonegap
 
FirefoxOS - a web como plataforma
FirefoxOS - a web como plataformaFirefoxOS - a web como plataforma
FirefoxOS - a web como plataforma
 
Ataque DoS e DDoS
Ataque DoS e DDoSAtaque DoS e DDoS
Ataque DoS e DDoS
 
Aplicações Web Isomórficas
Aplicações Web IsomórficasAplicações Web Isomórficas
Aplicações Web Isomórficas
 

Similar to Importância do versionamento de projetos

TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...tdc-globalcode
 
Voce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraVoce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraCDS
 
Microsoft e Linux: Como e Porquê a Microsoft se aliou ao Software Livre
Microsoft e Linux: Como e Porquê a Microsoft se aliou ao Software LivreMicrosoft e Linux: Como e Porquê a Microsoft se aliou ao Software Livre
Microsoft e Linux: Como e Porquê a Microsoft se aliou ao Software LivrePotiLivre Sobrenome
 
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Renato Groff
 
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Renato Groff
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edtedbrunoaalves
 
Microsoft e Linux: como e porque a Microsoft se aliou ao software livre
Microsoft e Linux: como e porque a Microsoft se aliou ao software livreMicrosoft e Linux: como e porque a Microsoft se aliou ao software livre
Microsoft e Linux: como e porque a Microsoft se aliou ao software livremarioaxavier7
 
Open4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourceOpen4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourcetdc-globalcode
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceGlobalcode
 
Fisl14 - DevOps - Exame.com
Fisl14 - DevOps - Exame.comFisl14 - DevOps - Exame.com
Fisl14 - DevOps - Exame.comRobson Chikasawa
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
 
Negócios e Open Source
Negócios e Open SourceNegócios e Open Source
Negócios e Open SourceOpenBossa
 
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Renato Groff
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Renato Groff
 
Microservices em Python: desafios e soluções
Microservices em Python: desafios e soluçõesMicroservices em Python: desafios e soluções
Microservices em Python: desafios e soluçõesGuilherme Vierno
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 

Similar to Importância do versionamento de projetos (20)

TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
 
Voce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraVoce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infra
 
Entity framework
Entity frameworkEntity framework
Entity framework
 
Microsoft e Linux: Como e Porquê a Microsoft se aliou ao Software Livre
Microsoft e Linux: Como e Porquê a Microsoft se aliou ao Software LivreMicrosoft e Linux: Como e Porquê a Microsoft se aliou ao Software Livre
Microsoft e Linux: Como e Porquê a Microsoft se aliou ao Software Livre
 
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
 
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
 
Web Tools Pt Br
Web Tools Pt BrWeb Tools Pt Br
Web Tools Pt Br
 
Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edted
 
Microsoft e Linux: como e porque a Microsoft se aliou ao software livre
Microsoft e Linux: como e porque a Microsoft se aliou ao software livreMicrosoft e Linux: como e porque a Microsoft se aliou ao software livre
Microsoft e Linux: como e porque a Microsoft se aliou ao software livre
 
Open4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSourceOpen4Education | MC122 - Introdução a ALM OpenSource
Open4Education | MC122 - Introdução a ALM OpenSource
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open Source
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Fisl14 - DevOps - Exame.com
Fisl14 - DevOps - Exame.comFisl14 - DevOps - Exame.com
Fisl14 - DevOps - Exame.com
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
Negócios e Open Source
Negócios e Open SourceNegócios e Open Source
Negócios e Open Source
 
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
 
Microservices em Python: desafios e soluções
Microservices em Python: desafios e soluçõesMicroservices em Python: desafios e soluções
Microservices em Python: desafios e soluções
 
Workshop Git e GitHub
Workshop Git e GitHubWorkshop Git e GitHub
Workshop Git e GitHub
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 

Importância do versionamento de projetos