SlideShare ist ein Scribd-Unternehmen logo
1 von 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?

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

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?