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

Preview:

Citation preview

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?

• adriano.schmidt@supero.com.br

• adriano@localhost8080.com.br

• (47) 9699-1808

• Skype: schmidt.adriano

• facebook.com/schmidt.adriano

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