Introducao git fisl
Upcoming SlideShare
Loading in...5
×
 

Introducao git fisl

on

  • 286 views

 

Statistics

Views

Total Views
286
Views on SlideShare
286
Embed Views
0

Actions

Likes
3
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introducao git fisl Introducao git fisl Presentation Transcript

  • Introdução ao Git (Por que não consigo mais usar SVN)
  • Oi! Hanneli (a.k.a. @hannelita)! Software developer! Middleware Consultant at ! Café e Pokémon <3
  • 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
  • Yet another talk about Git? Tenho dificuldade para aprender. Palestra com primeiros passos QUE FUNCIONAM, sem complicação.
  • Seu primeiro dia numa empresa
  • Seu primeiro dia numa empresa Code Code Code
  • Se o projeto já está andando, alguém precisa lhe fornecer o código
  • Como obter o código?
  • 1. Pendrive?
  • Pendrive? Rápido #COMOFAZ
  • SMP
  • Sincronização Manual de Pendrives não parece legal.
  • 2. Compartilhar pela rede Projeto
  • Compartilhar pela rede
  • Compartilhar pela rede Todos com acesso ao código
  • Compartilhar pela rede Todos com acesso ao código LOL.java WTFWTF.java LOL.java #COMOFAZ
  • Nenhum dos casos parece ser um bom cenário para distribuir e organizar o código numa equipe.
  • Evolução nos repositórios de código
  • Versão 3! Versão 2! Versão 1 SVN
  • SVN Ajuda com o Merge Código Centralizado Versionar de forma fácil e intuitiva
  • Problem Solved!
  • Problemas • Conflitos
  • Problemas • Como interromper a criação de uma tarefa e começar outra?
  • Problemas • Quero começar uma feature a partir de um código que você ainda não comittou
  • Problemas • A PASTA .svn CORROMPEU!
  • Algo mais eficiente
  • De volta a 2005
  • Manter o Kernel!
  • Manter o Kernel! Versão 3! Versão 2! Versão 1 Controle de versão distribuído
  • Git
  • Quais suas primeiras impressões sobre Git? • SVN é mais fácil! • Git é muito complexo • Não sei mexer nisso!
  • Por que Git parece tão traumático?
  • Por que Git parece tão traumático? • Command Line • Comandos são diferentes do SVN • Novos conceitos
  • Supere seus medos
  • 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>
  • Acredite, isso já resolve muitos casos de uso.
  • Git - e os conflitos?
  • 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
  • A Receita de Bolo para minimizar conflitos
  • Explicando a receita (programe, duh) 1. Faça suas alterações
  • 2. git checkout -b work Explicando a receita
  • 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
  • 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
  • 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
  • Explicando a receita 5. git checkout master branch work git checkout branch master git checkout <nome Branch> Alterna entre branches existentes
  • Explicando a receita 6. git pull branch master Pega as alterações do repositório remoto e faz merge
  • 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!
  • Explicando a receita 7. git checkout work branch master git checkout branch work
  • Explicando a receita 8. git rebase master
  • Explicando a receita Existem 2 formas para fazer merge no Git git merge git rebase rebase possui vários usosOcorre ao fazer um git pull "rebase faz um merge mais inteligente"
  • 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
  • Explicando a receita
  • 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
  • Explicando a receita Deixe os conflitos ocorrerem em sua snapshot de trabalho. branch work
  • Explicando a receita 9. git checkout master branch work git checkout branch master
  • 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
  • Explicando a receita 11. git push Envia as alterações para o repositório remoto branch master
  • 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
  • Onde posso conseguir um servidor Git? Faça um ;D Github Bitbucket
  • 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
  • Próximos passos de estudo Branches remotas git stash git reset git revert git bisect git blame Hooks git config Ferramentas gráficas
  • Depois de um tempo com Git… NÃO CONSIGO VOLTARA PARA O SVN!
  • Obrigada! Perguntas? @hannelita hannelita@gmail.com
  • Bibliografia http://git-scm.com/book http://gitref.org/