SlideShare ist ein Scribd-Unternehmen logo
1 von 86
Downloaden Sie, um offline zu lesen
Git: Controle de
versões do jeito certo
      Arthur Zapparoli
        @arthurgeek
Arthur?
Arthur?

• ArthurGeek
Arthur?

• ArthurGeek
• http://arthurgeek.net
Arthur?

• ArthurGeek
• http://arthurgeek.net
• @arthurgeek
Agenda
Agenda
• VCS
 • O que é?
 • Vantagens
 • Como funciona?
 • Centralizado x Distribuído
Agenda
Agenda
• Git
 • O que é?
 • Características básicas
 • Particularidades
 • Instalando
Agenda
Agenda
• Git
 • Configurando
 • Iniciando um repositório
 • Workflow básico
 • Workflow remoto
Pesquisa
Pesquisa
• Quem não usa NENHUM controle de versões?
Pesquisa
• Quem não usa NENHUM controle de versões?
• CVS?
Pesquisa
• Quem não usa NENHUM controle de versões?
• CVS?
• Subversion?
Pesquisa
• Quem não usa NENHUM controle de versões?
• CVS?
• Subversion?
• Algum outro?
VCS: O que é?
VCS: O que é?
• um software para gerenciar diferentes
  versões de um documento qualquer
VCS: O que é?
• um software para gerenciar diferentes
  versões de um documento qualquer
• o processo de guardar o histórico de
  alterações de diferentes arquivos.
VCS: Vantagens
VCS: Vantagens
• Backup automático de todos arquivos
VCS: Vantagens
• Backup automático de todos arquivos
• Controle do histórico
VCS: Vantagens
• Backup automático de todos arquivos
• Controle do histórico
• Trabalho em equipe
VCS: Vantagens
• Backup automático de todos arquivos
• Controle do histórico
• Trabalho em equipe
• Marcação e resgate de versões
  estáveis
VCS: Vantagens
• Backup automático de todos arquivos
• Controle do histórico
• Trabalho em equipe
• Marcação e resgate de versões
  estáveis

• Ramificação do projeto
VCS: Como funciona?
VCS: Como funciona?


  Repositório
VCS: Como funciona?


  Repositório




                Pedro
VCS: Como funciona?


                Ch
                 ec
  Repositório

                     ko
                      ut




                           Pedro
VCS: Como funciona?


                Ch
                 ec
  Repositório

                     ko
                      ut
                           Modifica




                           Pedro
VCS: Como funciona?




                                     Ip rem mit
                Ch
                                                  Repositório




                                        Lo om
                 ec
  Repositório

                     ko




                                            C
                      ut




                                          m
                                       su
                           Modifica




                           Pedro
VCS: Centralizado x Distribuído
VCS: Modelo Centralizado
VCS: Modelo Centralizado

• Repositório fica armazanedo em um
 servidor central
VCS: Modelo Centralizado

• Repositório fica armazanedo em um
  servidor central
• Os desenvolvedores ao fazerem um
  checkout, obtêm uma cópia da última
  revisão do repositório
VCS: Modelo Centralizado

• Repositório fica armazanedo em um
  servidor central
• Os desenvolvedores ao fazerem um
  checkout, obtêm uma cópia da última
  revisão do repositório

• Somente usuários autorizados podem
  fazer commits
VCS: Modelo Centralizado
                                            Guilherme




                                            out

                                                   Com
                                           eck

                                                  mit
                                           Ch
             Ch
               eck
                     out                                              ck   out
                                                                  Che
      Ana    Com
                mit                 Repositório                            mit
                                                                                    Carlos
                                                                  Com

                           Ch
                      ec                                    Ch
                                                                 ec
                                      it
                         k
                   ou                                              ko
                     t               m             it                 ut
                                 om                     m
                                C                           m
                                                         Co




                                                                           Sílvia
            Pedro
VCS: Modelo Distribuído
VCS: Modelo Distribuído
• Cada projeto é um repositório
  completo, com histórico total
VCS: Modelo Distribuído
• Cada projeto é um repositório
  completo, com histórico total
• Independe de acesso à rede ou um
  servidor central
VCS: Modelo Distribuído
• Cada projeto é um repositório
  completo, com histórico total
• Independe de acesso à rede ou um
  servidor central
• Commits podem ser feitos offline
VCS: Modelo Distribuído
• Cada projeto é um repositório
  completo, com histórico total
• Independe de acesso à rede ou um
  servidor central
• Commits podem ser feitos offline
• Commits podem ser transferidos de
  um repositório para outro facilmente
VCS: Modelo Distribuído
                        Guilherme




                                       Pu
                                         sh


      Ana
                       Push



              ll
             Pu                                    Carlos




                                        ll
                                       Pu
             Pu
                  sh




                                              sh
                                              Pu
      Pull




             Push
                              Sílvia
     Pedro
Git: O que é?
Git: O que é?
• Um projeto Open Source (GPL v2)
Git: O que é?
• Um projeto Open Source (GPL v2)
• Originalmente escrito por Linus Torvalds em
  2005
Git: O que é?
• Um projeto Open Source (GPL v2)
• Originalmente escrito por Linus Torvalds em
  2005

• Atualmente é mantido por Junio Hamano
Git: O que é?
• Um projeto Open Source (GPL v2)
• Originalmente escrito por Linus Torvalds em
  2005

• Atualmente é mantido por Junio Hamano
• Desenvolvido para manter o Kernel do Linux
Git: O que é?
• Um projeto Open Source (GPL v2)
• Originalmente escrito por Linus Torvalds em
  2005

• Atualmente é mantido por Junio Hamano
• Desenvolvido para manter o Kernel do Linux
• Sistema de controle de versões distribuído
Git: O que é?
• Um projeto Open Source (GPL v2)
• Originalmente escrito por Linus Torvalds em
  2005

• Atualmente é mantido por Junio Hamano
• Desenvolvido para manter o Kernel do Linux
• Sistema de controle de versões distribuído
• Foco em rapidez, eficiência e uso em grandes
  projetos
Git: Características Básicas
Git: Características Básicas

• Suporte para desenvolvimento não-
  linear
Git: Características Básicas

• Suporte para desenvolvimento não-
  linear
• Desenvolvimento distribuído
Git: Características Básicas

• Suporte para desenvolvimento não-
  linear
• Desenvolvimento distribuído
• Compatibilidade com sistemas/
  protocolos existentes
Git: Características Básicas

• Suporte para desenvolvimento não-
  linear
• Desenvolvimento distribuído
• Compatibilidade com sistemas/
  protocolos existentes

• Manipulação eficiente de grandes
  projetos
Git: Características Básicas

• Suporte para desenvolvimento não-
  linear
• Desenvolvimento distribuído
• Compatibilidade com sistemas/
  protocolos existentes

• Manipulação eficiente de grandes
  projetos

• Limpo
Git: Características Básicas

• Staging Index
   • HEAD, HEAD^, HEAD^^, HEAD~2
Git: Características Básicas

• Staging Index
   • HEAD, HEAD^, HEAD^^, HEAD~2
• SHA1s ao invés de revision numbers
   • f5f75c652b9c2347522159a87297820103e593e4
   • f5f75c
Git: Instalando
Git: Instalando
• Windows
  • http://code.google.com/p/msysgit/
Git: Instalando
• Windows
  • http://code.google.com/p/msysgit/
• Mac OS X
  • http://code.google.com/p/git-osx-installer
Git: Instalando
• Windows
  • http://code.google.com/p/msysgit/
• Mac OS X
  • http://code.google.com/p/git-osx-installer
• Linux
  • De acordo com sua distro favorita ou à
     partir do fonte
Git: Configurando
Git: Configurando
Git: Configurando




Usar --global faz com que a mesma configuração seja usada em todos
                             os projetos
Git: Iniciando um repositório
Git: Iniciando um repositório
Git: Iniciando um repositório




 O diretório objects armazena todos os objetos do Git: commits, trees,
                              blobs, etc.
Git: Workflow básico
Git: Workflow básico
Git: Workflow básico




   git status, git add, git commit, git log, git commit -a
Git: Workflow básico
Git: Workflow básico




   git diff, git blame, git reset, git commit -v, .gitignore
Git: Branching
Git: Branching
Git: Branching




git branch, git checkout, gitk, git merge, git branch -d/-D, git checkout -b
Git: Branching
Git: Branching




 git merge com modificações no mesmo arquivo
Git: Branching
Git: Branching




 git rebase, merge conflicts, git rebase --continue
Git: Remote Workflow
Git: Remote Workflow
Git: Remote Workflow




     git clone, git push, git pull, git fetch
Git: Tópicos Avançados

• git commit --interactive
• git rebase --interactive
• bisect
• cherry-pick
• git commit --ammend
• reflog
Perguntas?
Obrigado!
 @arthurgeek




http://busk.com
     Estamos contratando! ;)

Weitere ähnliche Inhalte

Andere mochten auch

Patricia Fernandez Zyncro
Patricia Fernandez ZyncroPatricia Fernandez Zyncro
Patricia Fernandez Zyncroe20biz
 
DER SPANISCHE ADEL UND SOS-KINDERDORF: FRAU IM SPIEGEL ÜBER NILS PETER SIEGER
DER SPANISCHE ADEL UND SOS-KINDERDORF: FRAU IM SPIEGEL ÜBER NILS PETER SIEGERDER SPANISCHE ADEL UND SOS-KINDERDORF: FRAU IM SPIEGEL ÜBER NILS PETER SIEGER
DER SPANISCHE ADEL UND SOS-KINDERDORF: FRAU IM SPIEGEL ÜBER NILS PETER SIEGERNils Peter Sieger
 
PetCare Leflet Greek&English
PetCare Leflet Greek&EnglishPetCare Leflet Greek&English
PetCare Leflet Greek&EnglishAndy Varoshiotis
 
Chaordic Mail | ES
Chaordic Mail | ESChaordic Mail | ES
Chaordic Mail | ESChaordic
 
Ves04 errv-management-guidelines-issue-4
Ves04 errv-management-guidelines-issue-4Ves04 errv-management-guidelines-issue-4
Ves04 errv-management-guidelines-issue-4hainguyenbk
 
Trabajo parque gasset
Trabajo parque gassetTrabajo parque gasset
Trabajo parque gasset31ana1996
 
AWS Summit Bogotá Track Avanzado: Arquitecturas y mejores practicas de big da...
AWS Summit Bogotá Track Avanzado: Arquitecturas y mejores practicas de big da...AWS Summit Bogotá Track Avanzado: Arquitecturas y mejores practicas de big da...
AWS Summit Bogotá Track Avanzado: Arquitecturas y mejores practicas de big da...Amazon Web Services
 
Sistema de Controle de Versão - CVS, SVN e GIT
Sistema de Controle de Versão - CVS, SVN e GITSistema de Controle de Versão - CVS, SVN e GIT
Sistema de Controle de Versão - CVS, SVN e GITGabriel Rubens
 
SQL Server 2012 DAX BI
SQL Server 2012 DAX BISQL Server 2012 DAX BI
SQL Server 2012 DAX BIEduardo Castro
 
Go to Study Group BoF at Security and Programming camp 2011
Go to Study Group BoF at Security and Programming camp 2011 Go to Study Group BoF at Security and Programming camp 2011
Go to Study Group BoF at Security and Programming camp 2011 Hiro Yoshioka
 
Emailmarketingpresentation 1226233603040060-8
Emailmarketingpresentation 1226233603040060-8Emailmarketingpresentation 1226233603040060-8
Emailmarketingpresentation 1226233603040060-8vineet
 
Introducción a los sistemas de alarmas industriales
Introducción a los sistemas de alarmas industrialesIntroducción a los sistemas de alarmas industriales
Introducción a los sistemas de alarmas industrialesJorge Luis Román Lizárraga
 

Andere mochten auch (17)

Tecnica de autoconocimiento tetraedro
Tecnica de autoconocimiento tetraedroTecnica de autoconocimiento tetraedro
Tecnica de autoconocimiento tetraedro
 
Patricia Fernandez Zyncro
Patricia Fernandez ZyncroPatricia Fernandez Zyncro
Patricia Fernandez Zyncro
 
Examendeorina
ExamendeorinaExamendeorina
Examendeorina
 
DER SPANISCHE ADEL UND SOS-KINDERDORF: FRAU IM SPIEGEL ÜBER NILS PETER SIEGER
DER SPANISCHE ADEL UND SOS-KINDERDORF: FRAU IM SPIEGEL ÜBER NILS PETER SIEGERDER SPANISCHE ADEL UND SOS-KINDERDORF: FRAU IM SPIEGEL ÜBER NILS PETER SIEGER
DER SPANISCHE ADEL UND SOS-KINDERDORF: FRAU IM SPIEGEL ÜBER NILS PETER SIEGER
 
PetCare Leflet Greek&English
PetCare Leflet Greek&EnglishPetCare Leflet Greek&English
PetCare Leflet Greek&English
 
Chaordic Mail | ES
Chaordic Mail | ESChaordic Mail | ES
Chaordic Mail | ES
 
Ves04 errv-management-guidelines-issue-4
Ves04 errv-management-guidelines-issue-4Ves04 errv-management-guidelines-issue-4
Ves04 errv-management-guidelines-issue-4
 
Sistema Circulatorio
Sistema CirculatorioSistema Circulatorio
Sistema Circulatorio
 
Trabajo parque gasset
Trabajo parque gassetTrabajo parque gasset
Trabajo parque gasset
 
AWS Summit Bogotá Track Avanzado: Arquitecturas y mejores practicas de big da...
AWS Summit Bogotá Track Avanzado: Arquitecturas y mejores practicas de big da...AWS Summit Bogotá Track Avanzado: Arquitecturas y mejores practicas de big da...
AWS Summit Bogotá Track Avanzado: Arquitecturas y mejores practicas de big da...
 
Sistema de Controle de Versão - CVS, SVN e GIT
Sistema de Controle de Versão - CVS, SVN e GITSistema de Controle de Versão - CVS, SVN e GIT
Sistema de Controle de Versão - CVS, SVN e GIT
 
Aprendendo Git
Aprendendo GitAprendendo Git
Aprendendo Git
 
SQL Server 2012 DAX BI
SQL Server 2012 DAX BISQL Server 2012 DAX BI
SQL Server 2012 DAX BI
 
Go to Study Group BoF at Security and Programming camp 2011
Go to Study Group BoF at Security and Programming camp 2011 Go to Study Group BoF at Security and Programming camp 2011
Go to Study Group BoF at Security and Programming camp 2011
 
Emailmarketingpresentation 1226233603040060-8
Emailmarketingpresentation 1226233603040060-8Emailmarketingpresentation 1226233603040060-8
Emailmarketingpresentation 1226233603040060-8
 
Introducción a los sistemas de alarmas industriales
Introducción a los sistemas de alarmas industrialesIntroducción a los sistemas de alarmas industriales
Introducción a los sistemas de alarmas industriales
 
ÖW Marketingkampagne Winter 2014/15 Tschechien
ÖW Marketingkampagne Winter 2014/15 TschechienÖW Marketingkampagne Winter 2014/15 Tschechien
ÖW Marketingkampagne Winter 2014/15 Tschechien
 

Git - Controle de Versões do Jeito Certo