25
Entendendo o GIT Adriano Schmidt Julho de 2013

TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

Embed Size (px)

Citation preview

Page 1: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

Entendendo o GIT

Adriano Schmidt

Julho de 2013

Page 2: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

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

Page 3: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

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

Page 4: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

Florianópolis

16/07/2013 Entendendo o GIT – Adriano Schmidt 4

Page 5: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

Florianópolis

16/07/2013 Entendendo o GIT – Adriano Schmidt 5

Page 6: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

Florianópolis

16/07/2013 Entendendo o GIT – Adriano Schmidt 6

Page 7: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

www.localhost8080.com.br

16/07/2013 Entendendo o GIT – Adriano Schmidt 7

Page 8: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

JBUG Brasil

16/07/2013 Entendendo o GIT – Adriano Schmidt 8

Page 9: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

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

Page 10: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

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

Page 11: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

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

Page 12: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

Mas como que eu pego o jeito?

16/07/2013 Entendendo o GIT – Adriano Schmidt 12

Page 13: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

Não tenham medo do Git!

16/07/2013 Entendendo o GIT – Adriano Schmidt 13

Page 14: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

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)

Page 15: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

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

Page 16: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

Nós e conexões

16/07/2013 Entendendo o GIT – Adriano Schmidt 16

Page 17: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

Teoria dos Grafos – Aplicada!

16/07/2013 Entendendo o GIT – Adriano Schmidt 17

Page 18: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

REACHABILITY

• Capacidade de ser acessível, alcançável;

16/07/2013 Entendendo o GIT – Adriano Schmidt 18

Page 19: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

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

Page 20: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

Linha de comando x GUI

16/07/2013 Entendendo o GIT – Adriano Schmidt 20

Page 21: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

Code Hosting / Git Repository

• Git Hub

• Bitbucket (Atlassian)

• Git Blit

• Git Stash (Atlassian)

16/07/2013 Entendendo o GIT – Adriano Schmidt 21

Page 22: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

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

Page 23: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

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

Page 24: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

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

Page 25: TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt

Dúvidas?

[email protected]

[email protected]

• (47) 9699-1808

• Skype: schmidt.adriano

• facebook.com/schmidt.adriano

16/07/2013 Entendendo o GIT – Adriano Schmidt 25