SlideShare uma empresa Scribd logo
1 de 21
Controle de Versão
       svn || git
Há muito tempo atrás, em uma galáxia distante...

           while (true) {
             echo “Kung Lao wins”;
           }




                   alexandre_loser.php

                                              .
                    alexandre_loser20050101 tar.gz

                                         while (true) {
                                           echo “Kung Lao wins...Fatality”;
                                         }


                                            alexandre_loser.php

                                             alexandre_loser20050102 tar.gz   .
Sistema de Controle de Versão
            (VCS)
            (VCS)
Sistema de Controle de Versão
                               Repositório

        alexandre_loser.php



A                                            alexandre_loser.php {v1}
                                             alexandre_loser.php {v2}
                                             ...
                                             alexandre_loser.php {vn}



         alexandre_loser.php



B
Concurrent Version System

       CVSanos 90
• Não é distribuído*
• Eternos bugs
                 CVS
• Lock em arquivos
Ctrl+C Ctrl+V CVS

• ClearCase
• PVCS
• VSS (Visual Source Safe)
• PerForce
Subversion
  “CVS Done Right”
Subversion“cvs done right”
                          “cvs done right”


•   Corrigiu os bugs do CVS

•   Atômico

•   Renomear, Copiar, Mover e Deletar

•   Merge

•   Bibliotecas clients
SVN é o projeto mais sem sentido que já foi
        iniciado...




Linus Torvalds
em 2007


GIT
SVN x GIT
SVN herdou a lerdeza do CVS...

        svn update | svn log | svn commit... svn *




          GIT é rápido....repositório local
SVN não é distribuído...

                                      log

               diff




             commit
                                            update




                      Avisa o Junior e...
GIT é distribuído...
                                                  status



                                           .git

                                    push
                   .git


          commit
                                 pull




                                                       .git
          diff                                                add


                          .git




                   Todo o repositório é local
mais vantagens...


                    repositório local


                                 todo controle
                                   OFFLINE
Branches no git são mais intuitivos...

git checkout -b A
       svn copy /srv/repos/trunk
       /srv/repos/branches/A;
       svn checkout
       /srv/repos/branches/A
       /local/branches/A
GIT tem uma área intermediária




só faz commit dos arquivos adicionados na área
o core do LINUX é
  controlado por GIT

               o RAILS é controlado por GIT
o CAKEPHP é controlado por
          GIT
                 o ZEND FRAMEWORK é
                    controlado por GIT
o NODE.JS é controlado por
           GIT
                     por quê não o Youppie?
Dúvidas?

Mais conteúdo relacionado

Semelhante a Controle de Versão GIT

Mini curso Git - 2º dia
Mini curso Git - 2º diaMini curso Git - 2º dia
Mini curso Git - 2º diaArmando Couto
 
Virtualização e kernel, vistos por dentro - Eduardo Habkost
Virtualização e kernel, vistos por dentro - Eduardo HabkostVirtualização e kernel, vistos por dentro - Eduardo Habkost
Virtualização e kernel, vistos por dentro - Eduardo HabkostTchelinux
 
Desenvolvimento organizado com VCS
Desenvolvimento organizado com VCSDesenvolvimento organizado com VCS
Desenvolvimento organizado com VCSyogarine
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoWilliam Lima
 
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em pazViajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em pazFlávio Lisboa
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerWellington Silva
 
Conhecendo o git.
Conhecendo o git.Conhecendo o git.
Conhecendo o git.Rafael Ivan
 
Subvertendo o codigo PHP com SVN - ENSOL
Subvertendo o codigo PHP com SVN - ENSOLSubvertendo o codigo PHP com SVN - ENSOL
Subvertendo o codigo PHP com SVN - ENSOLRicardo Coelho
 
Subvertendo o código PHP com SVN
Subvertendo o código PHP com SVNSubvertendo o código PHP com SVN
Subvertendo o código PHP com SVNRicardo Coelho
 
Funtoo Gnu/Linux: Customização ao extremo
Funtoo Gnu/Linux: Customização ao extremoFuntoo Gnu/Linux: Customização ao extremo
Funtoo Gnu/Linux: Customização ao extremoDaniel
 
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 TalksAndre Magalhaes
 
Funtoo escla
Funtoo esclaFuntoo escla
Funtoo esclaDaniel
 

Semelhante a Controle de Versão GIT (18)

Git
GitGit
Git
 
Mini curso Git - 2º dia
Mini curso Git - 2º diaMini curso Git - 2º dia
Mini curso Git - 2º dia
 
Virtualização e kernel, vistos por dentro - Eduardo Habkost
Virtualização e kernel, vistos por dentro - Eduardo HabkostVirtualização e kernel, vistos por dentro - Eduardo Habkost
Virtualização e kernel, vistos por dentro - Eduardo Habkost
 
Desenvolvimento organizado com VCS
Desenvolvimento organizado com VCSDesenvolvimento organizado com VCS
Desenvolvimento organizado com VCS
 
Go git - Presentation @Navita
Go git - Presentation @NavitaGo git - Presentation @Navita
Go git - Presentation @Navita
 
Git
GitGit
Git
 
Primeiros passos - GIT
Primeiros passos - GITPrimeiros passos - GIT
Primeiros passos - GIT
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotado
 
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em pazViajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + docker
 
Conhecendo o git.
Conhecendo o git.Conhecendo o git.
Conhecendo o git.
 
Subvertendo o codigo PHP com SVN - ENSOL
Subvertendo o codigo PHP com SVN - ENSOLSubvertendo o codigo PHP com SVN - ENSOL
Subvertendo o codigo PHP com SVN - ENSOL
 
Introdução ao Git
Introdução ao Git   Introdução ao Git
Introdução ao Git
 
Subvertendo o código PHP com SVN
Subvertendo o código PHP com SVNSubvertendo o código PHP com SVN
Subvertendo o código PHP com SVN
 
Git - Não perca o que estava funcionando!
Git - Não perca o que estava funcionando!Git - Não perca o que estava funcionando!
Git - Não perca o que estava funcionando!
 
Funtoo Gnu/Linux: Customização ao extremo
Funtoo Gnu/Linux: Customização ao extremoFuntoo Gnu/Linux: Customização ao extremo
Funtoo Gnu/Linux: Customização ao extremo
 
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
 
Funtoo escla
Funtoo esclaFuntoo escla
Funtoo escla
 

Último

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 

Último (9)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

Controle de Versão GIT

  • 1. Controle de Versão svn || git
  • 2. Há muito tempo atrás, em uma galáxia distante... while (true) { echo “Kung Lao wins”; } alexandre_loser.php . alexandre_loser20050101 tar.gz while (true) { echo “Kung Lao wins...Fatality”; } alexandre_loser.php alexandre_loser20050102 tar.gz .
  • 3. Sistema de Controle de Versão (VCS) (VCS)
  • 4. Sistema de Controle de Versão Repositório alexandre_loser.php A alexandre_loser.php {v1} alexandre_loser.php {v2} ... alexandre_loser.php {vn} alexandre_loser.php B
  • 6. • Não é distribuído* • Eternos bugs CVS • Lock em arquivos
  • 7. Ctrl+C Ctrl+V CVS • ClearCase • PVCS • VSS (Visual Source Safe) • PerForce
  • 8. Subversion “CVS Done Right”
  • 9. Subversion“cvs done right” “cvs done right” • Corrigiu os bugs do CVS • Atômico • Renomear, Copiar, Mover e Deletar • Merge • Bibliotecas clients
  • 10. SVN é o projeto mais sem sentido que já foi iniciado... Linus Torvalds
  • 13. SVN herdou a lerdeza do CVS... svn update | svn log | svn commit... svn * GIT é rápido....repositório local
  • 14. SVN não é distribuído... log diff commit update Avisa o Junior e...
  • 15.
  • 16. GIT é distribuído... status .git push .git commit pull .git diff add .git Todo o repositório é local
  • 17. mais vantagens... repositório local todo controle OFFLINE
  • 18. Branches no git são mais intuitivos... git checkout -b A svn copy /srv/repos/trunk /srv/repos/branches/A; svn checkout /srv/repos/branches/A /local/branches/A
  • 19. GIT tem uma área intermediária só faz commit dos arquivos adicionados na área
  • 20. o core do LINUX é controlado por GIT o RAILS é controlado por GIT o CAKEPHP é controlado por GIT o ZEND FRAMEWORK é controlado por GIT o NODE.JS é controlado por GIT por quê não o Youppie?