Desvendando O Git

2.135 visualizações

Publicada em

Palestra no 5º encontro do GURU-SP

Publicada em: Tecnologia, Educação
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.135
No SlideShare
0
A partir de incorporações
0
Número de incorporações
47
Ações
Compartilhamentos
0
Downloads
72
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Desvendando O Git

  1. 1. Desvendando o GIT Douglas Campos (qmx) douglas@theros.info http://qmx.me terça-feira, 21 de julho de 2009
  2. 2. terça-feira, 21 de julho de 2009
  3. 3. Sumário terça-feira, 21 de julho de 2009
  4. 4. Sumário Introdução terça-feira, 21 de julho de 2009
  5. 5. Sumário Introdução Mudando de Paradigma terça-feira, 21 de julho de 2009
  6. 6. Sumário Introdução Mudando de Paradigma Core GIT terça-feira, 21 de julho de 2009
  7. 7. Sumário Introdução Mudando de Paradigma Core GIT Fluxos de Trabalho em Equipe terça-feira, 21 de julho de 2009
  8. 8. Sumário Introdução Mudando de Paradigma Core GIT Fluxos de Trabalho em Equipe Recuperação de Desastres terça-feira, 21 de julho de 2009
  9. 9. Sumário Introdução Mudando de Paradigma Core GIT Fluxos de Trabalho em Equipe Recuperação de Desastres Boas Práticas terça-feira, 21 de julho de 2009
  10. 10. terça-feira, 21 de julho de 2009
  11. 11. Introdução terça-feira, 21 de julho de 2009
  12. 12. Introdução BK terça-feira, 21 de julho de 2009
  13. 13. Introdução BK Torvalds terça-feira, 21 de julho de 2009
  14. 14. Introdução BK Torvalds Kernel terça-feira, 21 de julho de 2009
  15. 15. Introdução BK Torvalds Kernel ~45 dias do início à produção! terça-feira, 21 de julho de 2009
  16. 16. Introdução BK Torvalds Kernel ~45 dias do início à produção! Performático terça-feira, 21 de julho de 2009
  17. 17. CVCS Há um ponto central, onde tudo acontece terça-feira, 21 de julho de 2009
  18. 18. Repositório 1 2 3 4 A B C D CVCS Há um ponto central, onde tudo acontece terça-feira, 21 de julho de 2009
  19. 19. DVCS Não há ponto central (imposto pela ferramenta) terça-feira, 21 de julho de 2009
  20. 20. Repositório? A E B C D F G José A B C D F João A E B C D A E B C D F G Felipe DVCS ? Não há ponto central (imposto pela ferramenta) terça-feira, 21 de julho de 2009
  21. 21. Mudança de Paradigma terça-feira, 21 de julho de 2009
  22. 22. Commits Locais terça-feira, 21 de julho de 2009
  23. 23. Commits Locais -Tem certeza? terça-feira, 21 de julho de 2009
  24. 24. Commits Locais -Tem certeza? -Bom, se você quer descobrir que cometeu um erro depois de 200 linhas de código.... terça-feira, 21 de julho de 2009
  25. 25. Commits Pequenos terça-feira, 21 de julho de 2009
  26. 26. Commits Pequenos Mas o meu código ainda está quebrado! terça-feira, 21 de julho de 2009
  27. 27. Commits Pequenos Mas o meu código ainda está quebrado! Ninguém vai ficar sabendo! terça-feira, 21 de julho de 2009
  28. 28. Commits Pequenos Mas o meu código ainda está quebrado! Ninguém vai ficar sabendo! E você vai começar a perceber o que está fazendo! terça-feira, 21 de julho de 2009
  29. 29. GIT 101 terça-feira, 21 de julho de 2009
  30. 30. GIT 101 Conceitos básicos terça-feira, 21 de julho de 2009
  31. 31. Ao invés de se preocupar em armazenar o estado de uma peça, ele armazena sempre o estado do tabuleiro inteiro terça-feira, 21 de julho de 2009
  32. 32. Ao invés de se preocupar em armazenar o estado de uma peça, ele armazena sempre o estado do tabuleiro inteiro Versionamento de Conteúdo terça-feira, 21 de julho de 2009
  33. 33. Ao invés de se preocupar em armazenar o estado de uma peça, ele armazena sempre o estado do tabuleiro inteiro Versionamento de Conteúdo O Git versiona o conteudo da árvore inteira terça-feira, 21 de julho de 2009
  34. 34. terça-feira, 21 de julho de 2009
  35. 35. Uma pilha de alterações terça-feira, 21 de julho de 2009
  36. 36. Uma pilha de alterações Um commit não é nada mais do que as diferenças aplicadas à árvore de código terça-feira, 21 de julho de 2009
  37. 37. O Índice Tira um “snapshot” seletivo dos objetos da árvore terça-feira, 21 de julho de 2009
  38. 38. Meus git add Índice git commit Repositório Arquivos O Índice Tira um “snapshot” seletivo dos objetos da árvore terça-feira, 21 de julho de 2009
  39. 39. Commit terça-feira, 21 de julho de 2009
  40. 40. Commit Coloca tudo que está no indice dentro do repositório terça-feira, 21 de julho de 2009
  41. 41. Commit Coloca tudo que está no indice dentro do repositório São indicados por um hash SHA único terça-feira, 21 de julho de 2009
  42. 42. Repositório Grafo Acíclico Dirigido terça-feira, 21 de julho de 2009
  43. 43. Branches Simples ponteiros dentro do grafo terça-feira, 21 de julho de 2009
  44. 44. GIT 102 Conhecendo mais a fundo terça-feira, 21 de julho de 2009
  45. 45. Tópicos Pesquisando Fazendo Merges I Mudando a História Fazendo Merges II Pedindo tempo terça-feira, 21 de julho de 2009
  46. 46. Pesquisando “Em que arquivo ficava aquele método?” “Onde eu defini aquela task do rake?” terça-feira, 21 de julho de 2009
  47. 47. git log -S'def index' --pickaxe-all terça-feira, 21 de julho de 2009
  48. 48. Fazendo Merges - I Não-fast-forward terça-feira, 21 de julho de 2009
  49. 49. Mudando a História “Se você pensa que eu vou fazer esse merge, pode tirar o cavalinho da chuva!” terça-feira, 21 de julho de 2009
  50. 50. Fazendo Merges - II Primeiro fazemos um rebase terça-feira, 21 de julho de 2009
  51. 51. Fazendo Merges - II Em seguida fazemos o merge mesmo Ele só vai mover o ponteiro do branch terça-feira, 21 de julho de 2009
  52. 52. Pedindo tempo “Corrija um bug para mim no branch de produção agora!” “Mas eu estava fazendo outra coisa!” terça-feira, 21 de julho de 2009
  53. 53. GIT 103 Psssst! terça-feira, 21 de julho de 2009
  54. 54. Tópicos Cherry-pick Cherry Bisect Managing Remotes Submódulos terça-feira, 21 de julho de 2009
  55. 55. Cherry-pick Essa correção tem que ir para a produção imediatamente! Mas ela está lá no meio das minhas coisas da versão que ainda não saiu! git cherry-pick pega um commit de qualquer lugar da árvore e tenta aplicá-lo no branch atual. terça-feira, 21 de julho de 2009
  56. 56. Cherry Putz, corrigi esse bug na produção mês passado! Você não aplicou a correção no desenvolvimento? git cherry faz uma busca pelo conteúdo dos commits para detectar quais não foram aplicados em um determinado branch terça-feira, 21 de julho de 2009
  57. 57. Bisect “Mas eu já tinha corrigido esse bug, quem foi o......” Pesquisa qual o commit introduziu determinado bug terça-feira, 21 de julho de 2009
  58. 58. Gerenciando Remotos git remote add <nome> <url> git fetch <nome> git push <nome> <branch> terça-feira, 21 de julho de 2009
  59. 59. Submódulos Uma maneira eficiente de agrupar projetos em repositórios diferentes Especialmente útil para projetos rails, onde os plugins costumam ser hospedados no github git submodule add <url> destino terça-feira, 21 de julho de 2009
  60. 60. Fluxos de trabalho em Equipe terça-feira, 21 de julho de 2009
  61. 61. Fluxos de trabalho em Equipe Servidor (gitosis) José Vera João terça-feira, 21 de julho de 2009
  62. 62. Fluxos de trabalho em Equipe Servidor (gitosis) Branches Remotos José Vera João terça-feira, 21 de julho de 2009
  63. 63. Fluxos de trabalho em Equipe Servidor (gitosis) Branches Remotos José Vera João Branches locais terça-feira, 21 de julho de 2009
  64. 64. Recuperando Desastres O que fazer quando as coisas não vão indo bem terça-feira, 21 de julho de 2009
  65. 65. Tópicos Desfazendo alterações Alterando a história terça-feira, 21 de julho de 2009
  66. 66. Desfazendo alterações git reset git reset --mixed git reset --hard terça-feira, 21 de julho de 2009
  67. 67. Alterando a história Commit indesejado? Quer unificar commits? Quer alterar a mensagem do commit? git rebase -i terça-feira, 21 de julho de 2009
  68. 68. Dicas git format-patch / git am prepara commits para serem transmitidos por email git bundle transporte de branches em arquivo git gc limpeza do repositório (Garbage Collector) git log --graph --oneline visualização da árvore de commits no console terça-feira, 21 de julho de 2009
  69. 69. git log --oneline --graph terça-feira, 21 de julho de 2009
  70. 70. terça-feira, 21 de julho de 2009
  71. 71. Obrigado! terça-feira, 21 de julho de 2009
  72. 72. Créditos / Bibliografia InfoQ The OOPS list http://betterexplained.com http://www.flickr.com/photos/cuppini/3211910657/sizes/l/ http://www.flickr.com/photos/denverjeffrey/2561885967/sizes/l/ http://www.flickr.com/photos/dianafayt/2314973004/sizes/l/ http://www.newsgroper.com/files/post_images/back%20to%20the%20future.jpeg http://www.flickr.com/photos/nonoq8/2711265848/sizes/o/ http://www.flickr.com/photos/cc_chapman/498250339/sizes/l/ terça-feira, 21 de julho de 2009

×