1) O documento introduz os conceitos básicos de controle de versão e o surgimento do Git como uma alternativa ao SVN.
2) São apresentados os primeiros passos para usar o Git, como clonar um repositório, receber alterações, fazer commit e compartilhar alterações.
3) Problemas comuns no SVN como conflitos e formas de distribuir código entre equipes são discutidos, mostrando as vantagens do Git.
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
4. Yet another talk about Git?
Tenho dificuldade para aprender.
Palestra com primeiros passos QUE FUNCIONAM, sem
complicação.
43. 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
44. 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
45. 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
46. Explicando a receita
5. git checkout master
branch work
git checkout
branch master
git checkout <nome Branch>
Alterna entre branches existentes
47. Explicando a receita
6. git pull
branch master
Pega as alterações do repositório remoto e faz merge
48. 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!
51. 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"
52. 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
54. 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
57. 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