SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Porque todo programador deve usar Sistema
          de Controle de Versão?


              Marco Rosner
                  IFAL
Quem sou?
Marco Rosner

- Graduado em Sistemas de
Informação pelo IFAL
- Técnico em Administração e
Projeto de Redes pelo
CET/IFAL
- Analista e desenvolvedor do
SAEO
- Desenvolvedor do Brisa
- Organizador do Debian
Festival
Quem já participou
 de um projeto?
Auto-avaliação

1 – Alguém já sobrescreveu o código de
alguma outra pessoa?

2 – Você sabe quem e em que momento
qualquer parte do sistema foi alterado?

3 – É difícil compartilhar o código fonte com
todos da equipe?
Então, você...
Seu chefe...
Bate o desespero!
Mas o que é Sistema de Controle
       de Versão (SCV)?
Qual a importância?

- Compartilhamento de documentos e
versionamento deles
- Permitir trabalho em paralelo e controlar as
modificações
- Facilidade de aplicar manutenção e gerenciar
a qualidade
- Possibilidade de trabalhar em equipe (e
agregar mais pessoas a equipe)
Onde se aplica?



- Wikis (Foswiki, Twiki, Wikipedia...)
- Processadores de texto (Google Docs...)
- CMS (Joomla!, Drupal, Mambo, Plone...)
- Projetos de softwares
- Documentação de software
Quem usa?
Conceitos fundamentais




- Repositório

- Cópia de trabalho (Working copy)
Conceitos fundamentais

- Estratégias de compartilhamento
de arquivos

  - Solução 1: Lock-Modify-Unlock
    ●   Lock pode causar problemas administrativos
    ●   Locking pode causar serialização desnecessária




  - Solução 2: Copy-Modify-Merge
Conceitos fundamentais


- Revisões
  ●   calc/Makefile:2
           integer.c:2
           button.c:3


- Revisões Mistas
  ●   Atualizações e Submissões são separadas.
Conceitos fundamentais
              (Terminologia)
- Check out/Clone
   ●   Cria uma CT do repositório*
- Update
   ●   Atualiza uma CT com a última versão do repositório
- Commit
   ●   Ato de submeter as alterações feitas na CT para o repositório
- Branch
   ●   Conjunto de arquivos separados do mainstream do projeto para
       ser trabalhado separadamente.
- Trunk
   ●   Linha principal de trabalho do projeto
Quando utilizar sistema
           centralizado?



- Desenvolvimento local
- Equipe pouco numerosa
- Projetos de pequeno e médio porte
- Necessidade de maior controle da codificação
Quando utilizar sistema
           distribuído?


- Desenvolvimento distribuído
- Equipe muito numerosa
- Projetos de grande porte
- Necessidade de dividir a equipe em sub-
equipes
Dúvidas?



Sugestões?


 Elogios?
Obrigado!




    Marco Rosner
marco.rosner@gmail.com

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (10)

Processos e threads - trabalho redes 10ºano
Processos e threads - trabalho redes 10ºanoProcessos e threads - trabalho redes 10ºano
Processos e threads - trabalho redes 10ºano
 
Zabbix, Grafana e os conteineres Docker
Zabbix, Grafana e os conteineres DockerZabbix, Grafana e os conteineres Docker
Zabbix, Grafana e os conteineres Docker
 
Salada mista com: Zabbix, Puppet e Docker
Salada mista com: Zabbix, Puppet e DockerSalada mista com: Zabbix, Puppet e Docker
Salada mista com: Zabbix, Puppet e Docker
 
Padrões-06 - Padrões Arquiteturais - Microkernel
Padrões-06 - Padrões Arquiteturais - MicrokernelPadrões-06 - Padrões Arquiteturais - Microkernel
Padrões-06 - Padrões Arquiteturais - Microkernel
 
Modelo de falhas
Modelo de falhasModelo de falhas
Modelo de falhas
 
FLISOL 2013 - Aprendendo Tarefas Administrativas de Segurança no Linux
FLISOL 2013 - Aprendendo Tarefas Administrativas de Segurança no LinuxFLISOL 2013 - Aprendendo Tarefas Administrativas de Segurança no Linux
FLISOL 2013 - Aprendendo Tarefas Administrativas de Segurança no Linux
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
 
Palestra sobre git ministrada no BH-Tech Talks
Palestra sobre git ministrada no BH-Tech TalksPalestra sobre git ministrada no BH-Tech Talks
Palestra sobre git ministrada no BH-Tech Talks
 
Padrões-03 - Padrões Arquiteturais - Pipes e Filtros
Padrões-03 - Padrões Arquiteturais - Pipes e FiltrosPadrões-03 - Padrões Arquiteturais - Pipes e Filtros
Padrões-03 - Padrões Arquiteturais - Pipes e Filtros
 

Ähnlich wie Porque todo programador deve utilizar Sistema de Controle de Versão?

Ähnlich wie Porque todo programador deve utilizar Sistema de Controle de Versão? (20)

Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9
 
Gerência de configuração ágil
Gerência de configuração ágilGerência de configuração ágil
Gerência de configuração ágil
 
Docker, jenkins e gradle para tomar o controle de sua entrega
Docker, jenkins e gradle para tomar o controle de sua entregaDocker, jenkins e gradle para tomar o controle de sua entrega
Docker, jenkins e gradle para tomar o controle de sua entrega
 
Estratégias de Estruturação de Código-fonte e Controlo de Versão
Estratégias de Estruturação de Código-fonte e Controlo de VersãoEstratégias de Estruturação de Código-fonte e Controlo de Versão
Estratégias de Estruturação de Código-fonte e Controlo de Versão
 
Web Tools Pt Br
Web Tools Pt BrWeb Tools Pt Br
Web Tools Pt Br
 
Apresentando o OpsWorks - Bemobi
Apresentando o OpsWorks - BemobiApresentando o OpsWorks - Bemobi
Apresentando o OpsWorks - Bemobi
 
Web tools pt-br
Web tools pt-brWeb tools pt-br
Web tools pt-br
 
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsComo automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
 
Apres git geinfo2012
Apres git geinfo2012Apres git geinfo2012
Apres git geinfo2012
 
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
 
Developer Experience no Nubank
Developer Experience no NubankDeveloper Experience no Nubank
Developer Experience no Nubank
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Controle de versões com o Subversion
Controle de versões com o SubversionControle de versões com o Subversion
Controle de versões com o Subversion
 
Fisl14 - DevOps - Exame.com
Fisl14 - DevOps - Exame.comFisl14 - DevOps - Exame.com
Fisl14 - DevOps - Exame.com
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
sfCon 2012 - Conceitos de Engenharia Reversa aplicados na migração de sistema...
sfCon 2012 - Conceitos de Engenharia Reversa aplicados na migração de sistema...sfCon 2012 - Conceitos de Engenharia Reversa aplicados na migração de sistema...
sfCon 2012 - Conceitos de Engenharia Reversa aplicados na migração de sistema...
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Desenvolvimento colaborativo de Aplicações Web
Desenvolvimento colaborativo de Aplicações WebDesenvolvimento colaborativo de Aplicações Web
Desenvolvimento colaborativo de Aplicações Web
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 

Mehr von Marco Rosner

Mehr von Marco Rosner (6)

Data Driven Product Development
Data Driven Product DevelopmentData Driven Product Development
Data Driven Product Development
 
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
 
[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
 
PHP Road Show - Aplicando Orientação a Objetos no SAEO
PHP Road Show - Aplicando Orientação a Objetos no SAEOPHP Road Show - Aplicando Orientação a Objetos no SAEO
PHP Road Show - Aplicando Orientação a Objetos no SAEO
 
GuBRo - Como botar a mão na massa
GuBRo - Como botar a mão na massaGuBRo - Como botar a mão na massa
GuBRo - Como botar a mão na massa
 
Gerenciamento De Qualidade Do Projeto
Gerenciamento De Qualidade Do ProjetoGerenciamento De Qualidade Do Projeto
Gerenciamento De Qualidade Do Projeto
 

Kürzlich hochgeladen

Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
FabianeMartins35
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
NarlaAquino
 

Kürzlich hochgeladen (20)

Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.ppt
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 

Porque todo programador deve utilizar Sistema de Controle de Versão?

  • 1. Porque todo programador deve usar Sistema de Controle de Versão? Marco Rosner IFAL
  • 2. Quem sou? Marco Rosner - Graduado em Sistemas de Informação pelo IFAL - Técnico em Administração e Projeto de Redes pelo CET/IFAL - Analista e desenvolvedor do SAEO - Desenvolvedor do Brisa - Organizador do Debian Festival
  • 3. Quem já participou de um projeto?
  • 4. Auto-avaliação 1 – Alguém já sobrescreveu o código de alguma outra pessoa? 2 – Você sabe quem e em que momento qualquer parte do sistema foi alterado? 3 – É difícil compartilhar o código fonte com todos da equipe?
  • 8. Mas o que é Sistema de Controle de Versão (SCV)?
  • 9. Qual a importância? - Compartilhamento de documentos e versionamento deles - Permitir trabalho em paralelo e controlar as modificações - Facilidade de aplicar manutenção e gerenciar a qualidade - Possibilidade de trabalhar em equipe (e agregar mais pessoas a equipe)
  • 10. Onde se aplica? - Wikis (Foswiki, Twiki, Wikipedia...) - Processadores de texto (Google Docs...) - CMS (Joomla!, Drupal, Mambo, Plone...) - Projetos de softwares - Documentação de software
  • 12. Conceitos fundamentais - Repositório - Cópia de trabalho (Working copy)
  • 13. Conceitos fundamentais - Estratégias de compartilhamento de arquivos - Solução 1: Lock-Modify-Unlock ● Lock pode causar problemas administrativos ● Locking pode causar serialização desnecessária - Solução 2: Copy-Modify-Merge
  • 14. Conceitos fundamentais - Revisões ● calc/Makefile:2 integer.c:2 button.c:3 - Revisões Mistas ● Atualizações e Submissões são separadas.
  • 15. Conceitos fundamentais (Terminologia) - Check out/Clone ● Cria uma CT do repositório* - Update ● Atualiza uma CT com a última versão do repositório - Commit ● Ato de submeter as alterações feitas na CT para o repositório - Branch ● Conjunto de arquivos separados do mainstream do projeto para ser trabalhado separadamente. - Trunk ● Linha principal de trabalho do projeto
  • 16. Quando utilizar sistema centralizado? - Desenvolvimento local - Equipe pouco numerosa - Projetos de pequeno e médio porte - Necessidade de maior controle da codificação
  • 17. Quando utilizar sistema distribuído? - Desenvolvimento distribuído - Equipe muito numerosa - Projetos de grande porte - Necessidade de dividir a equipe em sub- equipes
  • 19. Obrigado! Marco Rosner marco.rosner@gmail.com