Desenvolvimento organizado com VCS

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

2 comments

Comments 1 - 2 of 2 previous next Post a comment

  • + felipeabm felipe bastos 3 weeks ago
    no slide 27 vc tá versionando via firephp ??
  • + gills_demolay gills_demolay 7 months ago
    hehehe.. a palestra + engraçada do encontro hehe
    valeus, ALVIN :P
Post a comment
Embed Video
Edit your comment Cancel

1 Favorite

Desenvolvimento organizado com VCS - Presentation Transcript

  1. BOM DIA!
  2. meu nome: Alwin “Yogarine” Garside
  3. ALVENIR
  4. ALVES
  5.  
  6. AL W IN
  7. WhoAmI?
    • Desenvolvedor PHP há 4 anos
    • 3 anos de experiência com Subversion
    • 1 ano de experiência com Bazaar
    • SysAdmin/Developer na UEPB (2006-2008) ‏
    • Developer na Itline/CESED (2008-2009) ‏
  8. O que vou falar tanto?
    • O que é VCS?
    • Porquê VCS?
    • Centralizado vs Distribuído
    • Comandos básicos de VCS
    • Introdução a svn, bzr e git
  9. MONOTONE VCS BZR GIT SVN CVS MERCURIAL GNU ARCH SVK Desenvolvimento organizado com
  10. WTF = VCS!?
  11.  
  12. Visual C# (ufa...) ‏
  13. VERSION CONTROL SYSTEM
  14. SISTEMA DE CONTROLE DE VERSÃO
  15. HUH?
  16. PROJETOS SEM VCS:
  17. Pasta por data?
  18. Pasta por versão?
  19. VCS AJUDA A...
    • ...MANTER UM CHANGELOG
  20. CHANGELOG?
  21. CHANGELOG = LOG DE MUDANÇAS
  22.  
  23. ...voltando, VCS AJUDA A...
    • ...MANTER UM CHANGELOG
    • ...VISUALIZAR E APLICAR DIFF 'S
  24. DIFF'S?
  25. DIFF = DIFERENÇA
  26. DIFF UNIFICADA:
  27. DIFF LADO-AO-LADO:
  28. ...voltando, VCS AJUDA A...
    • ...MANTER UM CHANGELOG
    • ...VISUALIZAR E APLICAR DIFF 'S
    • ...TRABALHAR COM MULTIPLAS BRANCHES
  29. BRANCHES?
  30. BRANCH = GALHO
  31. GALHOS:
  32. PROJETO = ÁRVORE (TREE) ‏
  33. TRONCO (TRUNK) ‏
  34. TREE => TRUNK => BRANCHES
  35. PROJECT TREE: 0.1 0.2 0.3 Feature A Feature B Feature C Feature D Feature E TRUNK SERIES BRANCHES: FEATURE BRANCHES:
  36. BRANCHES!
  37. ...voltando, VCS AJUDA A...
    • ...MANTER UM CHANGELOG
    • ...VISUALIZAR E APLICAR DIFF 'S
    • ...TRABALHAR COM MULTIPLAS BRANCHES
    • ...FAZER UM MERGE ENTRE 2 BRANCHES
  38. MERGE?
  39. MERGE = JUNÇÃO
  40. 0.1 0.2 0.3 Feature A Feature B Feature C Feature D Feature E TRUNK SERIES BRANCHES FEATURE BRANCHES
  41. 0.1 0.2 0.3 Feature A Feature B Feature C Feature D Feature E TRUNK MERGE
  42. ...emfim, VCS AJUDA A...
    • ...MANTER UM CHANGELOG
    • ...VISUALIZAR E APLICAR DIFF 'S
    • ...TRABALHAR COM MULTIPLAS BRANCHES
    • ...FAZER MERGES ENTRE BRANCHES
    • ...MUITO, MUITO MAIS!
  43. CENTRALIZADO VS. DISTRIBUÍDO
  44. VCS CENTRALIZADO
    • REPOSITÓRIO CENTRALIZADO
    • COMPLICA CRIAÇÃO DE “FEATURE BRANCHES”
    • COLABORADORES MANDAM PATCHES (DIFF'S) PARA OS MANTENEDORES
    • OS DESENVOLVEDORES TRABALHAM COM UM WORKING COPY
  45. WORKING COPY?
  46. WORKING COPY = CÓPIA DE TRABALHO
  47. WORKING COPY REPOSITÓRIO WORKING COPY SERVIDOR REVISÂO 123 PEER
  48. WORKING COPY!
  49. ...anyway, VCS CENTRALIZADO:
    • REPOSITÓRIO CENTRALIZADO
    • COMPLICA CRIAÇÃO DE “FEATURE BRANCHES”
    • COLABORADORES MANDAM PATCHES (DIFF'S) PARA OS MANTENEDORES
    • OS DESENVOLVEDORES TRABALHAM COM UM WORKING COPY
  50. VCS CENTRALIZADO REPOSITÓRIO PEER PEER MANTENEDOR PEER PEER SERVIDOR
  51. VCS DISTRIBUIDO:
    • REPOSITÓRIO DISTRIBUÍDO
    • FACILITA CRIAÇÃO DE BRANCHES
    • COLABORADORES CRIAM BRANCHES
    • MANTENEDORES FAZER MERGES COM BRANCHES DE COLABORADORES
    • CADA DESENVOLVEDOR TRABALHA COM UM PRÓPRIO REPOSITÓRIO
  52. VCS DISTRIBUIDO main 1.2 feature-tal bugfix-bar main 1.2 main servidor 1.2 feature-x bugfix-y MANTENEDOR JOÃO JOSÉ bugfix bar
  53. COMANDOS BÁSICOS DE VCS
  54. COMANDOS BÁSICOS DE VCS
    • CHECKOUT
  55. CHECKOUT REPOSITÓRIO WORKING COPY SERVIDOR REVISÃO 123 PEER CHECKOUT
  56. COMANDOS BÁSICOS DE VCS
    • checkout (co) ‏
    • commit (cm) ‏
  57. COMMIT REPOSITÓRIO WORKING COPY SERVIDOR REVISÃO 124 PEER COMMIT
  58. COMANDOS BÁSICOS DE VCS
    • checkout (co) ‏
    • commit (cm) ‏
    • import
  59. IMPORT REPOSITÓRIO PROJETO SEM VCS SERVIDOR REVISÂO 1 PEER
  60. COMANDOS BÁSICOS DE VCS
    • checkout (co) ‏
    • commit (cm) ‏
    • import
    • export
  61. EXPORT REPOSITÓRIO PASTA SEM VCS SERVIDOR REVISÃO 123 PEER
  62. COMANDOS BÁSICOS DE VCS
    • checkout (co) ‏
    • commit (cm) ‏
    • import
    • export
    • diff
    • branch
    • merge
    • add
    • mv, cp, mkdir, etc.
  63. INTRODUÇÃO A SVN, BZR e GIT
  64. INTRODUÇÃO A SVN, BZR e GIT
    • Introdução ao uso das ferramentas da linha de comando
    • Assumindo que está usando Linux
    • Para Windows existem ferramentas gráficas
  65. SVN
  66. SVN = Subversion
  67. Subversion
    • Centralizado
    • Mais usado hoje em dia
    • Google Code, Sourceforge, etc.
    • Ótima integração com Eclipse, Zend Studio, Netbeans, etc.
  68. Subversion
    • Repositório num diretório público, pode ser hospedado pelo http ou protocolo proprietário
    • Subdiretório .svn em cada diretório contém metadata
  69. Subversion
    • Ferramentas de linha de comando:
      • svn
      • svnadmin
  70. Subversion
    • Criando um novo repositório:
      • # svnadmin create /var/svn/meu_repo
  71. Subversion
    • Importando um novo projeto no repositório:
      • $ cd meuprojeto
      • $ svn import /var/svn/meu_repo/trunk
  72. Subversion
    • Fazendo um checkout do repositório
      • $ svn checkout /var/svn/meu_repo/trunk meuprojeto
  73. Subversion
    • Dando commit
      • $ cd meuprojeto
      • # svn commit -m “Corrigiu bug #x”
  74. Subversion
    • Criando um branch
      • # svn mkdir /var/svn/meu_repo/branches
      • # svn cp /var/svn/meu_repo/trunk /var/svn/meu_repo/branches/meu_branch
  75. Subversion
    • Fazendo merge com outro branch:
      • $ cd meu_projeto
      • $ svn merge /var/svn/meu_repo/branches@2 /var/svn/meu_repo/branches@3
  76. BZR
  77. BZR = Bazaar
  78. Bazaar
    • Feito para poder ser usado de forma distribuída ou centralizada
    • Desenvolvida pela Canonical
    • Hospedagem no https://launchpad.net
    • Foco em facilidade de uso
  79. Bazaar
    • Metadata fica na pasta .bzr
    • Metadata apenas na pasta principal
    • Uma pasta pode ser working copy e branch ao mesmo tempo
  80. Bazaar
    • Criar branch para um novo projeto:
      • $ cd meuprojeto
      • $ bzr init
    • Adicionar arquivos no working copy:
      • $ bzr add
      • $ bzr commit -m “Initial import”
  81. Bazaar
    • Criar branch do seu projeto:
      • $ bzr branch meuprojeto meuprojeto-foo
    • Depois, para sincronizar o branch filho:
      • $ cd meuprojeto-foo
      • $ bzr pull
    • Empurrando as mudanças para branch pai:
      • $ bzr commit
      • $ bzr push
  82. GIT
  83. GIT
    • Distribuído
    • Criado pelo Linus Torvalds para ser usado no desenvolvimento do kernel Linux
    • Otimizada para desempenho
  84. GIT
    • Initializar um branch:
      • $ cd meuprojeto
      • $ git init
    • Adicionar arquivos no working copy
      • $ git add
      • $ git commit -m “Initial import”
  85. PERGUNTAS?
  86. Mais informações:
    • Sites
      • http://subversion.tigris.org
      • http://svnbook.red-bean.com
      • http://bazaar-vcs.org
      • http://git-scm.com
    • Entre em contato comigo:
      • yogarine@gmail.com (e-mail / Google Talk) ‏
      • yogarine@msn.com (Windows Live Messenger) ‏
      • http://www.yogarine.net
      • http://twitter.com/yogarine

+ yogarineyogarine, 7 months ago

custom

356 views, 1 favs, 0 embeds more stats

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 356
    • 356 on SlideShare
    • 0 from embeds
  • Comments 2
  • Favorites 1
  • Downloads 11
Most viewed embeds

more

All embeds

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories