Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Aprendendo Git

Aprendendo Git

Slides da apresentação de Git realizada junto com Ana Gabriel na Semana da Tecnologia da Fatec Sorocaba.

Autoria: Ana Gabriel e Felipe Bernardes

Amanda Vilela

October 08, 2016
Tweet

More Decks by Amanda Vilela

Other Decks in Programming

Transcript

  1. Git
    do 0 ao 1
    P O R AMANDA VILELA
    & & ANA GABRIEL

    View Slide

  2. AMANDA VILELA
    Front-end & UI Designer
    [email protected] Sorocaba ♥

    View Slide

  3. ANA GABRIEL
    Web Developer
    [email protected] Sorocaba ♥

    View Slide

  4. wtf is git?
    and why should you care about it?

    View Slide

  5. desenvolvimento
    organizado

    View Slide

  6. breve
    história

    View Slide

  7. 1991-2002
    .zip - Linux
    2002-2005
    DVCS - BitKeeper
    2005-4ever
    Git

    View Slide

  8. View Slide

  9. rápido
    design simples
    poderoso suporte a
    desenvolvimento não-linear
    totalmente distribuído
    capaz de atender
    projetos gigantescos

    View Slide

  10. statistics && highlights
    > 35 milhões de projetos
    > 14 milhões de pessoas
    contribuindo ( ~ 70 maracanãs lotados)
    > 600 eventos
    em >45 países até final de 2013
    https://github.com/showcases/social-impact
    https://github.com/thieman/github-selfies

    View Slide

  11. View Slide

  12. setup

    View Slide

  13. sudo apt-get update
    sudo apt-get install git
    ssh-keygen -t rsa -b 4096 -C "[email protected]"
    eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_rsa

    View Slide

  14. sudo apt-get update
    atualiza lista de repositórios do apt-get
    sudo apt-get install git
    instala git
    ssh-keygen -t rsa -b 4096 -C "[email protected]"
    gera chave SSH
    eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_rsa
    inicializa ssh-agent e adiciona chave gerada anteriormente ao mesmo

    View Slide

  15. View Slide

  16. https://git-for-windows.github.io

    View Slide

  17. cat ~/.ssh/id_rsa.pub
    ctrl+c maroto
    https://github.com/settings/keys
    new SSH key && ctrl+v malandro

    View Slide

  18. cat ~/.ssh/id_rsa.pub
    mostra conteúdo da chave pública no terminal
    ctrl+c maroto
    https://github.com/settings/keys
    new SSH key && ctrl+v malandro

    View Slide

  19. criando
    um repositório

    View Slide

  20. github.com

    View Slide

  21. clonando
    um repositório

    View Slide

  22. 1. copie o endereço ssh
    2. git clone
    3. assista algum vídeo da carreta furacão

    View Slide

  23. add
    adiciona arquivos e alterações à staging area
    git add README.md
    git add .
    git add **/*
    git add carretafuracao.txt weezer.txt foo.js bar.py

    View Slide

  24. status
    mostra o estado do branch atual
    git status

    View Slide

  25. commit
    comita arquivos e alterações anteriormente adicionados
    à staging área com add
    git commit -m "Inclui README em estado inicial"
    git commit -m "Corrige divergência de valores na view foo"
    git commit -m "Implementa testes pra nova funcionalidade fofao"

    View Slide

  26. commit message
    boas práticas!

    View Slide

  27. curta e objetiva
    começar com letra maiúscula
    não terminar com ponto final
    começar com um verbo imperativo
    http://chris.beams.io/posts/git-commit

    View Slide

  28. git log
    git log --oneline
    git log --oneline --graph --pretty
    log
    mostra o histórico de commits

    View Slide

  29. show
    mostra os detalhes de um commit específico
    git show
    git show
    git show b1db67f

    View Slide

  30. diff
    mostra as diferenças de arquivos adicionados para
    commit
    git diff
    git diff carretafuracao.txt

    View Slide

  31. checkout
    muda de branch OU desfaz alterações em arquivos que ainda não foram
    adicionados à staging área
    git checkout README.md
    git checkout .
    git checkout **/*
    git checkout carretafuracao.txt weezer.txt foo.js bar.py

    View Slide

  32. reset
    reseta estado da branch atual para o estado de um commit
    específico OU remove arquivos da staging área
    git reset carretafuracao.txt
    git reset
    git reset HEAD --hard
    git reset 4a08b16

    View Slide

  33. rm
    remove arquivos do versionamento do Git
    git rm carretafuracao.txt
    git rm -r

    View Slide

  34. push
    envia alterações do branch atual pro branch remoto
    especificado
    git push
    git push origin dev
    git push origin HEAD

    View Slide

  35. fetch
    realiza download de branches, tags e histórico remoto
    ou de alguma branch específica
    git fetch
    git fetch origin dev
    git push origin HEAD

    View Slide

  36. merge
    junta um ou mais branches especificados no branch atual
    git merge carreta-refactor
    git merge carreta-refactor nova-funcionalidade
    git merge origin carreta-refactor

    View Slide

  37. pull
    realiza fetch + merge do branch remoto especificado
    pro branch atual
    git pull carreta-refactor
    git pull carreta-refactor nova-funcionalidade
    git pull origin carreta-refactor

    View Slide

  38. branch
    lista, cria ou deleta branches
    git branch -a
    git branch
    git branch carreta-refactor
    git branch -D
    git branch -D carreta-refactor

    View Slide

  39. checkout
    muda de branch OU desfaz alterações em arquivos que ainda não foram
    adicionados à staging área
    git checkout
    git checkout carreta-refactor
    git checkout -b

    View Slide

  40. stash
    esconde as alterações pendentes atuais num diretório
    separado
    git stash
    git stash pop
    git stash list
    git stash show

    View Slide

  41. init
    cria um repositório vazio ou inicia um repositório
    existente
    mkdir myRepository && cd myRepository && git init
    git init myRepository

    View Slide

  42. .gitignore

    View Slide

  43. próximos passos

    View Slide

  44. boas práticas &&
    workflow
    http://nvie.com/posts/a-successful-git-branching-model/

    View Slide

  45. boas práticas &&
    commit messages
    http://chris.beams.io/posts/git-commit

    View Slide

  46. documentação oficial
    https://git-scm.com/docs/git-init

    View Slide

  47. https://github.com/thieman/github-selfies
    contribuindo
    forks & pull requests

    View Slide

  48. fork
    a fork is a copy of a repository
    https://github.com/amandavilela/curso-git-2016

    View Slide

  49. contribuindo
    issues & traduções
    https://azkaban.github.io/contributing.html

    View Slide

  50. #comunidade
    #chegaMais

    View Slide

  51. integrado
    sorocaba
    js meetup
    python-
    sorocaba
    hora extra
    sorocaba

    View Slide

  52. python sorocaba - https://groups.google.com/forum/m/#!forum/python-sorocaba
    guru sorocaba - https://www.facebook.com/GURUSorocaba/
    hacklab - https://www.facebook.com/hacklabsorocaba/
    GDG Sorocaba - https://www.facebook.com/GDGSorocaba/
    SorocabaJS - https://www.facebook.com/sorocabajs/
    JS Meetup - http://www.meetup.com/GDG-Sorocaba/
    WomenTechmakers - https://www.facebook.com/groups/wtmsorocaba/
    in.tegra.do - http://www.meetup.com/In-Tegra-Do/
    english meetup - http://www.meetup.com/Sorocaba-English-Conversation-Happy-Hours/
    #chegaMais

    View Slide

  53. [email protected]
    manda dúvidas
    amandavilela.com.br
    [email protected]

    View Slide