SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
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

Más contenido relacionado

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

Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...
Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...
Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...Joao Galdino Mello de Souza
 
Minicurso Git Semcomp Beta
Minicurso Git   Semcomp BetaMinicurso Git   Semcomp Beta
Minicurso Git Semcomp BetaBruno Orlandi
 
[AgileBrazil 2019] O Mito da Agilidade: Bom, Rápido e Barato.
[AgileBrazil 2019] O Mito da Agilidade: Bom, Rápido e Barato.[AgileBrazil 2019] O Mito da Agilidade: Bom, Rápido e Barato.
[AgileBrazil 2019] O Mito da Agilidade: Bom, Rápido e Barato.Giuliano Sposito
 
IB - Aula 02 (Noções de Informática).pptx
IB - Aula 02 (Noções de Informática).pptxIB - Aula 02 (Noções de Informática).pptx
IB - Aula 02 (Noções de Informática).pptxJulia469065
 

Similar a TDC 2013 SP | Trilha ALM: Entendendo o GIT, por Adriano Schmidt (8)

Minicurso Git
Minicurso GitMinicurso Git
Minicurso Git
 
Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...
Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...
Internet das Coisas (IoT) – Um estudo de caso para economia de energia elétri...
 
Minicurso Git Semcomp Beta
Minicurso Git   Semcomp BetaMinicurso Git   Semcomp Beta
Minicurso Git Semcomp Beta
 
nodeLHC #secomp2016
nodeLHC #secomp2016nodeLHC #secomp2016
nodeLHC #secomp2016
 
[AgileBrazil 2019] O Mito da Agilidade: Bom, Rápido e Barato.
[AgileBrazil 2019] O Mito da Agilidade: Bom, Rápido e Barato.[AgileBrazil 2019] O Mito da Agilidade: Bom, Rápido e Barato.
[AgileBrazil 2019] O Mito da Agilidade: Bom, Rápido e Barato.
 
I pv6 cparty2011
I pv6 cparty2011I pv6 cparty2011
I pv6 cparty2011
 
I pv6 cparty2011
I pv6 cparty2011I pv6 cparty2011
I pv6 cparty2011
 
IB - Aula 02 (Noções de Informática).pptx
IB - Aula 02 (Noções de Informática).pptxIB - Aula 02 (Noções de Informática).pptx
IB - Aula 02 (Noções de Informática).pptx
 

Más de tdc-globalcode

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadetdc-globalcode
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...tdc-globalcode
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucessotdc-globalcode
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPAtdc-globalcode
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinotdc-globalcode
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...tdc-globalcode
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicestdc-globalcode
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publicatdc-globalcode
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#tdc-globalcode
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocustdc-globalcode
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?tdc-globalcode
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golangtdc-globalcode
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QAtdc-globalcode
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciatdc-globalcode
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Servicetdc-globalcode
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETtdc-globalcode
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8tdc-globalcode
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...tdc-globalcode
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#tdc-globalcode
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Coretdc-globalcode
 

Más de tdc-globalcode (20)

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devices
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocus
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golang
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
 

Último

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfNatalia Granato
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 

Último (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

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

  • 1. Entendendo o GIT Adriano Schmidt Julho de 2013
  • 2. 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
  • 3. 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
  • 4. Florianópolis 16/07/2013 Entendendo o GIT – Adriano Schmidt 4
  • 5. Florianópolis 16/07/2013 Entendendo o GIT – Adriano Schmidt 5
  • 6. Florianópolis 16/07/2013 Entendendo o GIT – Adriano Schmidt 6
  • 8. JBUG Brasil 16/07/2013 Entendendo o GIT – Adriano Schmidt 8
  • 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
  • 16. Nós e conexões 16/07/2013 Entendendo o GIT – Adriano Schmidt 16
  • 17. Teoria dos Grafos – Aplicada! 16/07/2013 Entendendo o GIT – Adriano Schmidt 17
  • 18. REACHABILITY • Capacidade de ser acessível, alcançável; 16/07/2013 Entendendo o GIT – Adriano Schmidt 18
  • 19. 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
  • 20. Linha de comando x GUI 16/07/2013 Entendendo o GIT – Adriano Schmidt 20
  • 21. Code Hosting / Git Repository • Git Hub • Bitbucket (Atlassian) • Git Blit • Git Stash (Atlassian) 16/07/2013 Entendendo o GIT – Adriano Schmidt 21
  • 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
  • 25. 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