HACKTOBERFEST MEETUP - Aprendendo GIT & GITHUB

HACKTOBERFEST MEETUP - Aprendendo GIT & GITHUB

Fcfcfbcdbe8543b6d76c7566d6e1693c?s=128

Ana Luiza Portello

July 03, 2019
Tweet

Transcript

  1. APRENDENDO GIT E GITHUB

  2. Olar! Meu nome é Ana Bastos Sou engenheira de software

    e cientista da computação. 2 anabastos @naluhh @anapbastos
  3. Talvez você já tenha passado por isso... Trabalho1.doc Trabalho2.doc TrabalhoFinal.doc

    TrabalhoFinal Mesmo.doc TrabalhoFinal MesmoAgoraVai.doc
  4. Ou talvez você tenha tido problemas pra outras pessoas mexerem

    em um arquivo só...
  5. Pro desenvolvimento existe uma solução! GIT

  6. Git é um sistema de controle de versionamento de projetos

    e é uma ferramenta essencial para desenvolvedores. Com ele podemos criar versões de um arquivo com cada modificação salvando todas as diferenças entre os arquivos e pastas e ainda mantendo um histórico de tudo que foi modificado em cada versão.
  7. O Git permite que você revise e escale seu projeto

    sem precisar ficar restaurando os estados de arquivo passados, além de ajudar muito quando estamos trabalhando em grupo.
  8. test.txt Oi tudo bom Meu nome é ana luiza Esse

    é o hacktoberfest 2018 Criei o arquivo txt inicial
  9. test.txt Oi tudo bom Somos julia e ana luiza Esse

    é o hacktoberfest 2019 Quando outra pessoa for editar... Editei ano e adicionei meu nome
  10. test.txt Oi tudo bom Somos julia e ana luiza Esse

    é o hacktoberfest 2019 Oi tudo bom Meu nome é ana luiza Esse é o hacktoberfest 2018
  11. test.txt Oi tudo bom Meu nome é Somos julia e

    ana luiza Esse é o hacktoberfest 2019 Oi tudo bom Meu nome é ana luiza Esse é o hacktoberfest 2018
  12. Criei o arquivo txt inicial Editei ano e adicionei meu

    nome
  13. Fica fácil na hora em que alguém for colaborar com

    modificações no projeto possibilitando até mesmo que duas pessoas mexam no mesmo arquivo.
  14. COMO COMEÇAR?

  15. Instalar git

  16. git config --global user.name “Ana” git config --global user.email “analpbastos@gmail.com”

    Configurar o Git
  17. Supondo que você quer começar um projeto novo

  18. O propósito do git é lidar com um projeto, que

    é um conjunto de diversos arquivos que serão modificados através do seu desenvolvimento.
  19. git init

  20. Cria um novo repositório

  21. Salva toda a estrutura de pastas e arquivos em um

    "repositório", que é o nosso ambiente de trabalho.
  22. mkdir test git init test/ “Ok, vou olhar pra essa

    pasta test vazia”
  23. git status

  24. Lista todos os arquivos que foram modificados e arquivos novos

    que foram criados.
  25. None
  26. Adicione um arquivo a esse repositório test.txt

  27. Houveram mudanças no meu repositorio vazio! git status

  28. None
  29. Ok. Quero colocar essa modificação no meu repositório!

  30. git add

  31. git add test.txt git status

  32. Staging x Environment

  33. O git add coloca sua modificação para “Staging” Tudo o

    que está em staging é o que você quer que seja “Commitado”
  34. git commit

  35. Commit é de fato o registro de quais arquivos você

    modificou incluindo todas as mudanças como adicionar ou modificar arquivos. Pega todas as modificações em staging e cria um estado que você pode voltar atrás a qualquer momento.
  36. git commit -m “Criei o arquivo test.txt”

  37. Nomes de commit

  38. O que devo commitar? • Pensa em algo que precisa

    ser arrumado ou adicionado • Faça funcionar. • Teste o que foi feito • Adicione o commit.
  39. None
  40. git log

  41. None
  42. Add test.txt

  43. git push

  44. Coloca essa modificação no projeto test/ test.txt

  45. Add test.txt Add test.txt

  46. Add test.txt Add test.txt

  47. git clone <nomedorepositorio> test/ test.txt

  48. 48 test.txt Oi tudo bom Somos julia e ana luiza

    Esse é o hacktoberfest 2019
  49. git diff

  50. test.txt Oi tudo bom Meu nome é Somos julia e

    ana luiza Esse é o hacktoberfest 2019 Oi tudo bom Meu nome é ana luiza Esse é o hacktoberfest 2018
  51. 51 git add test.txt git commit -m “Editei ano e

    adicionei meu nome”
  52. Nesse momento o repositorio local dela tem um commit a

    mais Add test.txt Add test.txt Add test.txt Edit test.txt
  53. git push Add test.txt Add test.txt Edit test.txt Add test.txt

    Edit test.txt
  54. git pull

  55. git pull Add test.txt Edit test.txt Add test.txt Edit test.txt

    Add test.txt Edit test.txt
  56. E assim funciona um work flow comum

  57. 57 Geralmente sua parte do trabalho não é um commit

    só mas sim algo que você vai trabalhar durante dias. Ao invés de todos os colaboradores darem push toda hora no mesmo código é possivel criar versões do mesmo projeto.
  58. 58 Pra isso geralmente a gente mantém sempre uma versão

    “Principal” do código chamada Master e separa em “branches” as versões de cada funcionalidade.
  59. 59 Adicionei arquivo test.txt Editei ano

  60. 60

  61. git branch

  62. 62 git branch -B “feat/adicionar-poema”

  63. 63 git branch - master - feat/adicionar-poema

  64. 64 git add test.txt git commit -m “Iniciar o poema”

    git push Oi tudo bom Somos julia e ana luiza Esse é o hacktoberfest 2019 Rosas são vermelhas Violetas são azuis
  65. 65 Oi tudo bom Somos julia e ana luiza Esse

    é o hacktoberfest 2019 Rosas são vermelhas Violetas são azuis Hacktoberfest é top git add test.txt git commit -m “Acabar o poema” git push
  66. GITHUB

  67. “Facebook para programadores”

  68. Todo mundo tem Você pode ver o que cada um

    está fazendo Você pode seguir pessoas Você pode curtir projetos Fazer sugestões ou mudanças
  69. Github serve para compartilhar códigos com outros desenvolvedores.

  70. Enquanto o Git funciona na sua máquina local, o Github

    é como se fosse um repositório remoto na web para todos os projetos de código.
  71. Vincular ao seu Git Instalado Pra isso usa-se uma chave

    ssh
  72. ssh-keygen -t rsa -C "your_email@example.com"

  73. ssh-keygen -t rsa -C "your_email@example.com" pbcopy < ~/.ssh/id_rsa.pub

  74. None
  75. None
  76. Done!

  77. None
  78. None
  79. Como ficam os commits

  80. None
  81. Como ficam as branches

  82. None
  83. None
  84. git remote add origin https://github.com/cubeton/mynewrepository.git git push -u origin master

    git push origin my-new-branch Pra linkar um repositório git que eu criei a um repositório eu preciso usar os seguintes comandos.
  85. ISSUES

  86. - Indicar problemas / bugs - Sugerir mudanças - Apontar

    coisas que precisam ser modificadas / atualizadas - Funcionalidades que precisam ser implementadas
  87. “Problema na hora de fazer x coisa em x caso”

    “Atualizar dependencias” “Funcionalidade de tal”
  88. None
  89. None
  90. PULL REQUEST

  91. PR é enviar uma modificação para um repositório remoto no

    Github.
  92. É um meio de alertar os donos do repositório que

    você quer fazer algumas mudanças no seu código. Ele possibilita que ele dê um review no código e possa falar se ele quer colocar, ou o que precisa ser modificado pra ele colocar no projeto dele.
  93. Com 4 PRs já é possível receber a camiseta e

    os brindes!
  94. None
  95. None
  96. None
  97. Eu quero colaborar!

  98. Para fazer um PR em um repositório que não é

    meu é preciso primeiro fazer “Fork” Ou seja, um cópia desse repositório dentro da minha conta git
  99. None
  100. None
  101. git clone <repositorioqueforkei> <fazer modificações>

  102. None
  103. None
  104. None
  105. None
  106. Obrigada! anabastos @naluhh @anapbastos