Git v2

206 visualizações

Publicada em

Talk básica e prática de git com eclipse.

LT apresentada no dia 03/06/2016.

Publicada em: Software
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Git v2

  1. 1. GIT com astronomia.
  2. 2. me (eu) Marcos <merkkp@gmail.com>
  3. 3. 3 partes.
  4. 4. ● sobrevivendo: ○ comandos básicos; ○ conflitos; ○ gitlab; ● revolução industrial: ○ introdução a branches; ○ trabalhando com branches; ● revolução tecnológica: ○ introdução aos workflows; ○ propondo um novo workflow;
  5. 5. GIT pra quem não é broder do GIT.
  6. 6. o que diabos é git?
  7. 7. sistema de controle de versão
  8. 8. manter o histórico de mudanças em um projeto ao longo do tempo.
  9. 9. porém, não é só isso!
  10. 10. também é uma ferramenta de colaboração.
  11. 11. prós
  12. 12. ●sem necessidade de backup ●salvar alterações localmente ●feito para colaboração entre times
  13. 13. contras
  14. 14. ●curva de aprendizado ●exige estudo do time pra funcionar ●algumas coisas obscuras
  15. 15. (no eclipse) sobrevivendo com git
  16. 16. comandos de macaquinho só faz, depois “vamo” saber o porque de fazer e como funciona
  17. 17. importando o projeto pro eclipse e sem taxas da receita :)
  18. 18. antes de tudo, de onde a gente importa?
  19. 19. http://10.1.11.5/gitlab
  20. 20. agora importando no eclipse
  21. 21. (:
  22. 22. agora já dá pra codar :) workflow básico
  23. 23. puxar as alterações feitas por outros do servidor git pull
  24. 24. salvar as alterações feitas (localmente) “comitar” git commit
  25. 25. caso Commit and Push não é necessário mais nada
  26. 26. porém, caso só Commit
  27. 27. mandar os commits feitos pro servidor git push
  28. 28. relembrando segue o fluxo
  29. 29. git pull -> git commit -> git push
  30. 30. deu conflito, e agora? ferrou?
  31. 31. prazer, git stash ou mandando as alterações locais pro espaço (só que com CEP)
  32. 32. segue o fluxo2 a fórmula mágica pra resolver os conflitos
  33. 33. git stash -> git pull -> git stash apply -> (resolve os conflitos) -> git commit -> git push
  34. 34. git stash
  35. 35. git pull
  36. 36. git stash apply
  37. 37. RESOLVENDO CONFLITOS essa cor vermelha dá até medo, mas não é esse monstro
  38. 38. não é o conflito!
  39. 39. git commit & git push
  40. 40. GITLAB tipo um github, mas no nosso servidor
  41. 41. mas o que que é?
  42. 42. visualizador de repositórios git
  43. 43. http://10.1.11.5/gitlab
  44. 44. cadastro
  45. 45. grupo (organização)
  46. 46. mas [porque | o que é] um grupo?
  47. 47. ●uma forma de agrupar projetos sob um namespace ●projetos pertencem a uma “organização”
  48. 48. se inserindo no grupo aitproeg
  49. 49. crendenciais no trello
  50. 50. só logar
  51. 51. http://10.1.11.5/gitlab
  52. 52. começando com branches sabe a fase de tutorial? pois é
  53. 53. mas o que é uma branch?
  54. 54. é um “ramo” paralelo do projeto.
  55. 55. como usar as branchs
  56. 56. criando o troço
  57. 57. git branch nomeDa_branch
  58. 58. mudando pra branch
  59. 59. git checkout nomeDa_branch
  60. 60. no eclipse
  61. 61. segue o fluxo
  62. 62. (git pull ->) git commit -> git push
  63. 63. precisa mudar de branch pra algo?
  64. 64. git commit | | stash && git checkout
  65. 65. cabou o trampo da feature, e ai?
  66. 66. juntando a branch de feature a master de duas formas
  67. 67. pelo eclipse / git puro
  68. 68. git merge “misturando” uma branch
  69. 69. pelo gitlab (como eu prefiro :p)
  70. 70. pull request (merge request) misturando uma branch, de forma mais visual
  71. 71. criando um (pull | merge) request
  72. 72. aceitando um pull request
  73. 73. corrigindo um pull request
  74. 74. git commit && git push sério, só isso
  75. 75. aceitando
  76. 76. workflow é o fluxo (8)
  77. 77. workflow é o fluxo de desenvolvimento.
  78. 78. workflows com git linear centralized feature branch gitflow forking flow ...
  79. 79. nosso fluxo
  80. 80. ●centralizado ●integração contínua (sem builds) ●linear
  81. 81. codar (certa) história colocando as tracks >> [commit (no “trunk”)] >> teste manual de funcionalidade usando o card >> revisão de código procurando as tracks >> (falhou) >> adequação ao padrão >> [commit (no “trunk”)] >> revisão de código (passou) >> [commit (no “trunk”)] >> teste meio automatizado de aceitação (integração) usando selenium >> done.
  82. 82. OPNIÃO tretas possíveis de ocorrer esquecer de colocar as tracks colocar as tracks erradas code review trabalhosa e propensa a erros test com o selenium trabalhoso e não 100% automatizado histórico bagunçado
  83. 83. “novo” fluxo baseado no nosso mas usando as facilidades das ferramentas e dando margem para escalabilidade
  84. 84. codar (certa) história em uma nova branch >> [commit] >> teste manual de funcionalidade usando o card >> [pull request] >> revisão de código >> (falhou) >> adequação ao padrão >> [+commit (na nova branch)] >> revisão de código >> (passou) >> [merge accept (na master)] >> teste meio automatizado de aceitação usando selenium >> done.
  85. 85. OPNIÃO tretas que podem ocorrer (não dá pra “resolver” tudo de uma vez) esquecer de colocar as stracks colocar as tracks erradas sem problemas com track, só olhar a branch code review trabalhosa e propensa a erros menos trabalhosa test com o selenium de certa forma trabalhoso e não 100% automatizado histórico bagunçado

×