Porque você precisa aprender Git

1,732 views

Published on

Palestra ministrada no ALM Summit Brasil 2013.

Published in: Technology

Porque você precisa aprender Git

  1. 1. Giovanni Bassigiovanni@lambda3.com.br@giovannibassi
  2. 2.  Escalador, ciclista, pai Lambda3 Programador (a.k.a não gerente) C#, Ruby, Node, Coffeescript, Powershell, Bash... OO, Funcional, Estática, Dinâmica... Linux, Windows Desktop, web, mobile, game... Fundou o .NET Architects Tecnoretórica, blog, palestras, artigos, MVP… Trouxe a Scrum.org pro Brasil Gosta de “humanas” (gestão, coaching, psicologia...)@GiovanniBassi
  3. 3. Tenha cuidado,posso ser eu na suafrente
  4. 4. http://bit.ly/lambda3democraciaUma empresa democrática• Sem gerentes ou estrutura hierárquica• Livros abertos• Decisões por consenso• 100% ágil
  5. 5. Um sistema de controle deversão distribuído e opensource
  6. 6. Linha de comando?
  7. 7. Porque DVCS
  8. 8. Dev ARepoCentral1ABC2OKAYCESQUECI!OUTROCOMMIT!
  9. 9. Dev ARepoCentral1ABC1--amendDESQUECI!
  10. 10. --amend
  11. 11. 93230c5master HEAD= commit= branch= HEADorigin/masterclone
  12. 12. 93230c5 0ac78b6master HEAD= commit= branch= HEADorigin/mastercommit
  13. 13. 93230c5 0ac78b6 4ebf653master HEAD= commit= branch= HEADorigin/mastercommit
  14. 14. 93230c5 0ac78b6 4ebf653master HEAD= commit= branch= HEADpushorigin/master
  15. 15. Branch por diretórioC
  16. 16. Branch lógicoDBranches não são físicosSem confusão nos diretóriosUm branch é só um ponteiro pra um commitBranch atual é onde a HEAD apontaBranches podem ser apagadosMerge baseado em deltas e commitsIsso torna tudo muito mais fácil
  17. 17. 93230c5 0ac78b6c77926b4ebf653master HEADoutro= commit= branch= HEAD
  18. 18. 93230c5 0ac78b6c77926b4ebf653masteroutro= commit= branch= HEADgit checkout outro HEAD
  19. 19. Dev A Dev BRepoCentral1 2 3C
  20. 20. Dev A Dev BRepoCentral1 21,23C
  21. 21. Dev A Dev BRepoCentral1 23RepoCentral(Branch B)Integrar o branch!Merge!o/C
  22. 22. 93230c5 0ac78b6c77926b4ebf653masterHEADoutro= commit= branch= HEAD
  23. 23. 93230c5 0ac78b6c77926b4ebf653masterHEADoutro= commit= branch= HEADgit merge masterd4545ea
  24. 24. 93230c5 0ac78b6c77926b4ebf653masteroutro= commit= branch= HEADgit checkoutmasterd4545eaHEAD
  25. 25. 93230c5 0ac78b6c77926b4ebf653masteroutro= commit= branch= HEADgit merge outrod4545eaHEAD
  26. 26. 93230c5master= commit= branch= HEADHEAD
  27. 27. 93230c5 HEADoutro= commit= branch= HEADmaster git checkout –boutro
  28. 28. 93230c5c77926b HEADoutro= commit= branch= HEADgit commitmaster
  29. 29. 93230c5 0ac78b6c77926b4ebf653masterHEADoutro= commit= branch= HEADgit fetch
  30. 30. 93230c5 0ac78b6 z93af5b4ebf653masterHEAD outro= commit= branch= HEADgit rebase master
  31. 31. Dev A Dev B11,223QA43554Dev1,2,3,51,2,3,5Drebase!
  32. 32. http://git-scm.com/http://www.tecnoretorica.com.br/2012/05/dvcs/http://bit.ly/linusgithttp://progit.org/http://bit.ly/gitfrombottomuphttp://blog.lambda3.com.br/tag/git/
  33. 33. Giovanni Bassigiovanni@lambda3.com.br@giovannibassiDúvidas?
  34. 34. Giovanni Bassigiovanni@lambda3.com.br@giovannibassiObrigado!
  35. 35. www.lambda3.com.br

×