Controle de versão com GIT

4,528 views
4,353 views

Published on

Published in: Technology

Controle de versão com GIT

  1. 1. Controle de versão com GITPaulo César M Jeveaux@jeveauxjeveaux.com
  2. 2. controlar versãode código, Batman, pra que isso?
  3. 3. controlar versão de código, Batman, pra queouch! isso?
  4. 4. controlar versão de código, Batman, pra que ouch! isso?Robin, como você controla as alterações do seu código? E como você controla as versões do seu produto?E o hitórico de tudo isso?
  5. 5. • Open Source • Criado por Linus Torvaldsgit • Necessidade de manter o controle de versão do código do Kernel do Linux • Mantido por Junio Hamano • Para projetos P, M, G e XG • Sistema de controle de versões distribuído!
  6. 6. • Desenvolvimento distribuído • Rápido!git • Branches e merges sem dor e forma simples • Rápido! • Eficiente e simples • Comunidade forte • Rápido!
  7. 7. alguémusa isso?
  8. 8. alguém usa isso?Linux Kernel Android X.org Perl Fedora PostgreSQL gnome Debian ...muitos outros
  9. 9. Conceitocentralizado X distribuído
  10. 10. centralizado• repositório único e centralizado• commit só por usuário com permissão dev n repositório dev 3 dev 2 dev 1
  11. 11. centralizado • repositório único e centralizado • commit só por usuário com permissão dev n repositório dev 3 históricos, commits, dev 2branches, etc dev 1
  12. 12. centralizado • repositório único e centralizado • commit só por usuário com permissão dev n repositório dev 3 históricos, commits, dev 2branches, etc dev 1 checkout no dia N
  13. 13. centralizado • repositório único e centralizado • commit só por usuário com permissão dev n repositório dev 3 históricos, commits, dev 2branches, etc checkout no dia N+1 dev 1 diferente do dev 1 checkout no dia N
  14. 14. centralizado • repositório único e centralizado • commit só por usuário com permissão dev n repositório dev 3 checkout no dia N+2 históricos, diferente do dev 1 e 2 commits, dev 2branches, etc checkout no dia N+1 dev 1 diferente do dev 1 checkout no dia N
  15. 15. centralizado • repositório único e centralizado • commit só por usuário com permissão dev n repositório checkout no dia N+3 diferente do dev 1, 2 e 3 dev 3 checkout no dia N+2 históricos, diferente do dev 1 e 2 commits, dev 2branches, etc checkout no dia N+1 dev 1 diferente do dev 1 checkout no dia N
  16. 16. distribuído• cada cópia é um repositório completo• histórico completo e total• commit local {on|off}line• commits podem ser transferidos entre repositórios de forma simples com pull ou push dev 3 dev 1 dev n dev 2
  17. 17. distribuído• cada cópia é um repositório completo• histórico completo e total• commit local {on|off}line• commits podem ser transferidos entre repositórios de forma simples com pull ou push dev 3 dev 1 dev n uma nova cópia pode ser feita de qualquer repositório dev 2
  18. 18. distribuído• cada cópia é um repositório completo• histórico completo e total• commit local {on|off}line• commits podem ser transferidos entre repositórios de forma simples com pull ou push dev 3 dev 1 commits podem ser transferidos por todos repositórios dev n uma nova cópia pode ser feita de qualquer repositório dev 2
  19. 19. você pode fazer commit dequalquer lugar, até no avião!
  20. 20. você pode fazer commit dequalquer lugar, até no avião! RLY?
  21. 21. branches
  22. 22. • rápido!• muito rápido!• branches locais baratas• branches também podem ser remotas (github)• merge super poderoso• uma branch para cada feature/história/bug/etc
  23. 23. histórico merge logs pull diffs pushcommits tag
  24. 24. stash index bisectGIT-SVN
  25. 25. eu ti l i dades rramen tasfe
  26. 26. o terminal éseu amigo :)
  27. 27. gitk
  28. 28. tower
  29. 29. ... e muitas outras ferramentas• gitnub• qgit• git-gui• tortoise-git• ...
  30. 30. github
  31. 31. comunidade emtorno de código muitos projetos open source serve paraprojetos privadosfunciona! funciona muito bem!
  32. 32. grátis para open comunidade em source torno de códigofork de maneira muitos projetos fácil e rápida open source facilita muito a serve para colaboração projetos privadosé o queridinho na funciona! funciona comunidade muito bem!
  33. 33. reddit Ruby on Rails curl jQuery CakePHP Redis django node.js mongodbQuem usa github
  34. 34. Servidor GIT privado • gratuitogitorious • open source • pode ser usado também online como o github, também gratuito
  35. 35. muitas opções• gitosis• codebasehq• repo.or.cz• gitorious• ...
  36. 36. Para o alto e avante akitaonrails.com/screencasts
  37. 37. dúvidas?
  38. 38. Referências• git-scm.org• github.com/guides/home• akitaonrails.com• “Git: controle de versão de jeito certo” - por Arthur Zapparoli
  39. 39. Controle de versão com GITPaulo César M Jeveaux@jeveauxjeveaux.com

×