tdc 2013 sp | trilha alm: entendendo o git, por adriano schmidt
TRANSCRIPT
Entendendo o GIT
Adriano Schmidt
Julho de 2013
Adriano Schmidt
• Técnico em Informática - SENAI • Faculdade de Adm. de Empresas - UNIVILLE • Iniciando Mestrado profissional em
Administração - UDESC
• SCJP: Sun Certification Java Programmer • Cisco CCNA 2: Routers and Routing Basics • Cisco CCNA 1: Networking Basics
• SENAI, Datasul HCM, Totvs, Supero Tecnologia
16/07/2013 Entendendo o GIT – Adriano Schmidt 2
Supero Tecnologia
• Empresa criada em 2003 em Blumenau;
• Filiais em Joinville, Florianópolis e Cotia;
• Aproximadamente 60 funcionários;
• Tractebel Energia, Portos, Seara, Tupy, Tigre...
• Consultoria Java e Oracle;
• Desenvolvimento terceirizado;
• Treinamentos;
16/07/2013 Entendendo o GIT – Adriano Schmidt 3
Florianópolis
16/07/2013 Entendendo o GIT – Adriano Schmidt 4
Florianópolis
16/07/2013 Entendendo o GIT – Adriano Schmidt 5
Florianópolis
16/07/2013 Entendendo o GIT – Adriano Schmidt 6
www.localhost8080.com.br
16/07/2013 Entendendo o GIT – Adriano Schmidt 7
JBUG Brasil
16/07/2013 Entendendo o GIT – Adriano Schmidt 8
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
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
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
Mas como que eu pego o jeito?
16/07/2013 Entendendo o GIT – Adriano Schmidt 12
Não tenham medo do Git!
16/07/2013 Entendendo o GIT – Adriano Schmidt 13
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)
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
Nós e conexões
16/07/2013 Entendendo o GIT – Adriano Schmidt 16
Teoria dos Grafos – Aplicada!
16/07/2013 Entendendo o GIT – Adriano Schmidt 17
REACHABILITY
• Capacidade de ser acessível, alcançável;
16/07/2013 Entendendo o GIT – Adriano Schmidt 18
Ferramentas
• Linha de comando? • http://git-scm.com/downloads
• GUI? • http://git-scm.com/downloads/guis
• EGit?
• Ant?
16/07/2013 Entendendo o GIT – Adriano Schmidt 19
Linha de comando x GUI
16/07/2013 Entendendo o GIT – Adriano Schmidt 20
Code Hosting / Git Repository
• Git Hub
• Bitbucket (Atlassian)
• Git Blit
• Git Stash (Atlassian)
16/07/2013 Entendendo o GIT – Adriano Schmidt 21
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
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
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
Dúvidas?
• (47) 9699-1808
• Skype: schmidt.adriano
• facebook.com/schmidt.adriano
16/07/2013 Entendendo o GIT – Adriano Schmidt 25