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

Introdução ao Git - FISL 2014

Introdução ao Git - FISL 2014

FISL 2014

hannelita

May 10, 2014
Tweet

More Decks by hannelita

Other Decks in Technology

Transcript

  1. O que vamos ver hoje? Controle de versão - por

    que preciso disso?! O surgimento do Git! Primeiros passos com Git! Para onde ir depois do básico! Fotos e GIFS
  2. Yet another talk about Git? Tenho dificuldade para aprender. Palestra

    com primeiros passos QUE FUNCIONAM, sem complicação.
  3. SMP

  4. Problemas • Quero começar uma feature a partir de um

    código que você ainda não comittou
  5. Git

  6. Quais suas primeiras impressões sobre Git? • SVN é mais

    fácil! • Git é muito complexo • Não sei mexer nisso!
  7. Por que Git parece tão traumático? • Command Line •

    Comandos são diferentes do SVN • Novos conceitos
  8. Git - primeiros passos 1. Obter cópia local do projeto

    2. Receber alterações 3. Merge das alterações locais com remotas 4. Compartilhar alterações git clone <URL do repo> git pull git add <FILE>! git commit -m “Commit"! git push git remote add remote_repo <URL repo>
  9. A Receita de Bolo para minimizar conflitos • Faça suas

    alterações • git checkout -b work • git add <alterações> • git commit -m "Alterações" • git checkout master • git pull • git checkout work • git rebase master • git checkout master • git merge work • git push
  10. O Git permite que você trabalhe em diferentes 'workspaces' Explicando

    a receita Projeto (cópia local) git checkout -b "Cópia" da cópia local Posso alternar entre as "cópias" Uma “cópia" não é uma cópia em disco Uma “cópia" é um snapshot Branch
  11. Branches Explicando a receita Projeto (cópia local) Branch master git

    checkout -b work Snapshot Branch work Baseado na branch master git checkout -b lolol Snapshot Branch lolol Baseado na branch work Cria nova branch
  12. Explicando a receita 3. git add <alterações> “Git, essas alterações

    são importantes! Quero que meu Snapshot as veja!" 4. git commit -m "Mensagem" Meu snapshot local possui as alterações que quero enviar para o repositório remoto
  13. Explicando a receita 5. git checkout master branch work git

    checkout branch master git checkout <nome Branch> Alterna entre branches existentes
  14. Explicando a receita 6. git pull branch master Pega as

    alterações do repositório remoto e faz merge
  15. Explicando a receita Onde fizemos as alterações? Master ou work?

    Se você não alterar o master, pode ter sempre uma cópia local do repositório atualizado sem ter conflitos!
  16. Explicando a receita Existem 2 formas para fazer merge no

    Git git merge git rebase rebase possui vários usos Ocorre ao fazer um git pull "rebase faz um merge mais inteligente"
  17. Explicando a receita Por que tive que trocar de branch

    para fazer rebase? "rebase faz um merge mais inteligente" Axioma Só é seguro fazer rebase em branches locais Se não criássemos outra branch, faríamos: branch master rebase
  18. Explicando a receita A chance de não ocorrer conflitos com

    rebase é maior do que com git merge "rebase faz um merge mais inteligente" Só é seguro fazer rebase em branches locais
  19. Explicando a receita 10. git merge work Se o rebase

    foi bem sucedido, o merge não terá problema branch master git rebase branch work Conflitos! ocorrem! aqui git merge
  20. Complementando a receita 11. git branch -d work Remove a

    branch work. Nesse momento ela não é mais útil. Uma nova task, uma nova branch
  21. E aquela história de ‘controle de versão distribuído’? git remote

    add server <URL> server git remote add Outro_server <URL2> Outro_server
  22. Próximos passos de estudo Branches remotas git stash git reset

    git revert git bisect git blame Hooks git config Ferramentas gráficas