9. Contextualização
• VCS - Version Control System
Sistema que gerencia diferentes versões (mudanças) no
desenvolvimento de um documento qualquer (um código-fonte por
exemplo).
CVS, SVN, Visual Source Safe, ClearCase..
• DVCS - Distributed Version Control System
Semelhante ao VCS, porém, não existe apenas um repositório de
documentos (repositório central no servidor). Existem inúmeros
repositórios em diversas máquinas.. por isso o nome distribuído :D
Git, Mercurial, BitKeeper, Bazaar..
16/07/2013 Entendendo o GIT – Adriano Schmidt 9
10. Git - História
• O kernel do Linux era desenvolvido utilizando
o BitKeeper.
• Linus Torvalds sentia algumas dificuldades
com o BitKeeper, performance por exemplo,
então, em 2005, ele resolveu escrever um
novo DVCS, assim surgiu o Git.
16/07/2013 Entendendo o GIT – Adriano Schmidt 10
11. Git e o aprendizado
• Git não devia ser devia ser difícil de aprender.
• Mas no começo, algo tão simples como um
merge pode se tornar um pesadelo.
• “Git é demais! Depois que você pego jeito
dele, você vê como ele é extremamente
simples"
16/07/2013 Entendendo o GIT – Adriano Schmidt 11
12. Mas como que eu pego o jeito?
16/07/2013 Entendendo o GIT – Adriano Schmidt 12
13. Não tenham medo do Git!
16/07/2013 Entendendo o GIT – Adriano Schmidt 13
14. 16/07/2013 Entendendo o GIT – Adriano Schmidt 14
“Nossas dúvidas são traidoras e nos
fazem perder o que poderíamos ganhar,
pelo simples medo de arriscar!”
(Shakespeare)
15. Teoria dos Grafos
• “A graph refers to a collection of nodes and a
collection of edges that connect pairs of
nodes”
16/07/2013 Entendendo o GIT – Adriano Schmidt 15
22. Referências
• Referências são ponteiros para commits;
• Branch local, branch remota, tag;
• Cheap branching - Diferença ao criar branch
no SVN e no GIT;
16/07/2013 Entendendo o GIT – Adriano Schmidt 22
23. git commit --amend
♫ lá lá lá, vou commitar ♫
♫ lá lá lá commitei ♫
- puutz, esqueci de alterar a classe X, e agora?
- Já sei! Só rodar um “git commit --amend” :D
16/07/2013 Entendendo o GIT – Adriano Schmidt 23
24. REFERENCES MAKE COMMITS
REACHABLE.
• Esse é o segredo do Git!
• Quem nunca fez um backup da pasta do projeto?
• Branches são savepoints;
• Criar uma branch é como salvar o jogo antes da
batalha contra o chefão final;
• Estratégias para merge.
16/07/2013 Entendendo o GIT – Adriano Schmidt 24