Your SlideShare is downloading. ×
Git - Controle de Versões do Jeito Certo
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Git - Controle de Versões do Jeito Certo

11,436
views

Published on

Palestra de Introdução ao Git que apresentei no Rails Summit 09. …

Palestra de Introdução ao Git que apresentei no Rails Summit 09.

Infelizmente, sem os screencasts no final, os slides não fazem muito sentido.

Published in: Technology

1 Comment
11 Likes
Statistics
Notes
  • A melhor introdução ao GIT que já ví.

    Posso usar seu material como base para uma aula sobre Git? Ministro aula no SENAI São José / SC para turmas que fazem o Ensino Médio em paralelo. A qualidade gráfica do seu material faz bastante diferença para este público.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
11,436
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
316
Comments
1
Likes
11
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Git: Controle de versões do jeito certo Arthur Zapparoli @arthurgeek
  • 2. Arthur?
  • 3. Arthur? • ArthurGeek
  • 4. Arthur? • ArthurGeek • http://arthurgeek.net
  • 5. Arthur? • ArthurGeek • http://arthurgeek.net • @arthurgeek
  • 6. Agenda
  • 7. Agenda • VCS • O que é? • Vantagens • Como funciona? • Centralizado x Distribuído
  • 8. Agenda
  • 9. Agenda • Git • O que é? • Características básicas • Particularidades • Instalando
  • 10. Agenda
  • 11. Agenda • Git • Configurando • Iniciando um repositório • Workflow básico • Workflow remoto
  • 12. Pesquisa
  • 13. Pesquisa • Quem não usa NENHUM controle de versões?
  • 14. Pesquisa • Quem não usa NENHUM controle de versões? • CVS?
  • 15. Pesquisa • Quem não usa NENHUM controle de versões? • CVS? • Subversion?
  • 16. Pesquisa • Quem não usa NENHUM controle de versões? • CVS? • Subversion? • Algum outro?
  • 17. VCS: O que é?
  • 18. VCS: O que é? • um software para gerenciar diferentes versões de um documento qualquer
  • 19. VCS: O que é? • um software para gerenciar diferentes versões de um documento qualquer • o processo de guardar o histórico de alterações de diferentes arquivos.
  • 20. VCS: Vantagens
  • 21. VCS: Vantagens • Backup automático de todos arquivos
  • 22. VCS: Vantagens • Backup automático de todos arquivos • Controle do histórico
  • 23. VCS: Vantagens • Backup automático de todos arquivos • Controle do histórico • Trabalho em equipe
  • 24. VCS: Vantagens • Backup automático de todos arquivos • Controle do histórico • Trabalho em equipe • Marcação e resgate de versões estáveis
  • 25. VCS: Vantagens • Backup automático de todos arquivos • Controle do histórico • Trabalho em equipe • Marcação e resgate de versões estáveis • Ramificação do projeto
  • 26. VCS: Como funciona?
  • 27. VCS: Como funciona? Repositório
  • 28. VCS: Como funciona? Repositório Pedro
  • 29. VCS: Como funciona? Ch ec Repositório ko ut Pedro
  • 30. VCS: Como funciona? Ch ec Repositório ko ut Modifica Pedro
  • 31. VCS: Como funciona? Ip rem mit Ch Repositório Lo om ec Repositório ko C ut m su Modifica Pedro
  • 32. VCS: Centralizado x Distribuído
  • 33. VCS: Modelo Centralizado
  • 34. VCS: Modelo Centralizado • Repositório fica armazanedo em um servidor central
  • 35. VCS: Modelo Centralizado • Repositório fica armazanedo em um servidor central • Os desenvolvedores ao fazerem um checkout, obtêm uma cópia da última revisão do repositório
  • 36. VCS: Modelo Centralizado • Repositório fica armazanedo em um servidor central • Os desenvolvedores ao fazerem um checkout, obtêm uma cópia da última revisão do repositório • Somente usuários autorizados podem fazer commits
  • 37. VCS: Modelo Centralizado Guilherme out Com eck mit Ch Ch eck out ck out Che Ana Com mit Repositório mit Carlos Com Ch ec Ch ec it k ou ko t m it ut om m C m Co Sílvia Pedro
  • 38. VCS: Modelo Distribuído
  • 39. VCS: Modelo Distribuído • Cada projeto é um repositório completo, com histórico total
  • 40. VCS: Modelo Distribuído • Cada projeto é um repositório completo, com histórico total • Independe de acesso à rede ou um servidor central
  • 41. VCS: Modelo Distribuído • Cada projeto é um repositório completo, com histórico total • Independe de acesso à rede ou um servidor central • Commits podem ser feitos offline
  • 42. VCS: Modelo Distribuído • Cada projeto é um repositório completo, com histórico total • Independe de acesso à rede ou um servidor central • Commits podem ser feitos offline • Commits podem ser transferidos de um repositório para outro facilmente
  • 43. VCS: Modelo Distribuído Guilherme Pu sh Ana Push ll Pu Carlos ll Pu Pu sh sh Pu Pull Push Sílvia Pedro
  • 44. Git: O que é?
  • 45. Git: O que é? • Um projeto Open Source (GPL v2)
  • 46. Git: O que é? • Um projeto Open Source (GPL v2) • Originalmente escrito por Linus Torvalds em 2005
  • 47. Git: O que é? • Um projeto Open Source (GPL v2) • Originalmente escrito por Linus Torvalds em 2005 • Atualmente é mantido por Junio Hamano
  • 48. Git: O que é? • Um projeto Open Source (GPL v2) • Originalmente escrito por Linus Torvalds em 2005 • Atualmente é mantido por Junio Hamano • Desenvolvido para manter o Kernel do Linux
  • 49. Git: O que é? • Um projeto Open Source (GPL v2) • Originalmente escrito por Linus Torvalds em 2005 • Atualmente é mantido por Junio Hamano • Desenvolvido para manter o Kernel do Linux • Sistema de controle de versões distribuído
  • 50. Git: O que é? • Um projeto Open Source (GPL v2) • Originalmente escrito por Linus Torvalds em 2005 • Atualmente é mantido por Junio Hamano • Desenvolvido para manter o Kernel do Linux • Sistema de controle de versões distribuído • Foco em rapidez, eficiência e uso em grandes projetos
  • 51. Git: Características Básicas
  • 52. Git: Características Básicas • Suporte para desenvolvimento não- linear
  • 53. Git: Características Básicas • Suporte para desenvolvimento não- linear • Desenvolvimento distribuído
  • 54. Git: Características Básicas • Suporte para desenvolvimento não- linear • Desenvolvimento distribuído • Compatibilidade com sistemas/ protocolos existentes
  • 55. Git: Características Básicas • Suporte para desenvolvimento não- linear • Desenvolvimento distribuído • Compatibilidade com sistemas/ protocolos existentes • Manipulação eficiente de grandes projetos
  • 56. Git: Características Básicas • Suporte para desenvolvimento não- linear • Desenvolvimento distribuído • Compatibilidade com sistemas/ protocolos existentes • Manipulação eficiente de grandes projetos • Limpo
  • 57. Git: Características Básicas • Staging Index • HEAD, HEAD^, HEAD^^, HEAD~2
  • 58. Git: Características Básicas • Staging Index • HEAD, HEAD^, HEAD^^, HEAD~2 • SHA1s ao invés de revision numbers • f5f75c652b9c2347522159a87297820103e593e4 • f5f75c
  • 59. Git: Instalando
  • 60. Git: Instalando • Windows • http://code.google.com/p/msysgit/
  • 61. Git: Instalando • Windows • http://code.google.com/p/msysgit/ • Mac OS X • http://code.google.com/p/git-osx-installer
  • 62. Git: Instalando • Windows • http://code.google.com/p/msysgit/ • Mac OS X • http://code.google.com/p/git-osx-installer • Linux • De acordo com sua distro favorita ou à partir do fonte
  • 63. Git: Configurando
  • 64. Git: Configurando
  • 65. Git: Configurando Usar --global faz com que a mesma configuração seja usada em todos os projetos
  • 66. Git: Iniciando um repositório
  • 67. Git: Iniciando um repositório
  • 68. Git: Iniciando um repositório O diretório objects armazena todos os objetos do Git: commits, trees, blobs, etc.
  • 69. Git: Workflow básico
  • 70. Git: Workflow básico
  • 71. Git: Workflow básico git status, git add, git commit, git log, git commit -a
  • 72. Git: Workflow básico
  • 73. Git: Workflow básico git diff, git blame, git reset, git commit -v, .gitignore
  • 74. Git: Branching
  • 75. Git: Branching
  • 76. Git: Branching git branch, git checkout, gitk, git merge, git branch -d/-D, git checkout -b
  • 77. Git: Branching
  • 78. Git: Branching git merge com modificações no mesmo arquivo
  • 79. Git: Branching
  • 80. Git: Branching git rebase, merge conflicts, git rebase --continue
  • 81. Git: Remote Workflow
  • 82. Git: Remote Workflow
  • 83. Git: Remote Workflow git clone, git push, git pull, git fetch
  • 84. Git: Tópicos Avançados • git commit --interactive • git rebase --interactive • bisect • cherry-pick • git commit --ammend • reflog
  • 85. Perguntas?
  • 86. Obrigado! @arthurgeek http://busk.com Estamos contratando! ;)