SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
Controle de versão com
           GIT

Paulo César M Jeveaux
@jeveaux
jeveaux.com
controlar versão
de código, Batman, pra que
           isso?
controlar versão
        de código, Batman, pra que
ouch!              isso?
controlar versão
                                de código, Batman, pra que
                        ouch!              isso?




Robin, como você controla
  as alterações do seu
         código?

 E como você controla as
 versões do seu produto?

E o hitórico de tudo isso?
• Open Source
      • Criado por Linus Torvalds


git
      • Necessidade de manter o
        controle de versão do
        código do Kernel do Linux
      • Mantido por Junio Hamano
      • Para projetos P, M, G e XG
      • Sistema de controle de
        versões distribuído!
• Desenvolvimento distribuído
      • Rápido!

git   • Branches e merges sem dor
        e forma simples
      • Rápido!
      • Eficiente e simples
      • Comunidade forte
      • Rápido!
alguém
usa isso?
alguém
                         usa isso?




Linux Kernel   Android         X.org


    Perl       Fedora      PostgreSQL


  gnome        Debian    ...muitos outros
Conceito
centralizado X distribuído
centralizado
•   repositório único e centralizado
•   commit só por usuário com permissão


                              dev n

     repositório
                              dev 3

                     dev 2

            dev 1
centralizado
   •   repositório único e centralizado
   •   commit só por usuário com permissão


                                 dev n

          repositório
                                 dev 3
 históricos,
  commits,              dev 2
branches, etc
                dev 1
centralizado
   •   repositório único e centralizado
   •   commit só por usuário com permissão


                                   dev n

          repositório
                                   dev 3
 históricos,
  commits,              dev 2
branches, etc
                dev 1


                          checkout no dia N
centralizado
   •   repositório único e centralizado
   •   commit só por usuário com permissão


                                   dev n

          repositório
                                   dev 3
 históricos,
  commits,              dev 2
branches, etc
                                      checkout no dia N+1
                dev 1
                                        diferente do dev 1


                          checkout no dia N
centralizado
   •   repositório único e centralizado
   •   commit só por usuário com permissão


                                   dev n

          repositório
                                   dev 3
                                                  checkout no dia N+2
 históricos,
                                                  diferente do dev 1 e 2
  commits,              dev 2
branches, etc
                                      checkout no dia N+1
                dev 1
                                        diferente do dev 1


                          checkout no dia N
centralizado
   •   repositório único e centralizado
   •   commit só por usuário com permissão


                                   dev n

          repositório                               checkout no dia N+3
                                                   diferente do dev 1, 2 e 3

                                   dev 3
                                                  checkout no dia N+2
 históricos,
                                                  diferente do dev 1 e 2
  commits,              dev 2
branches, etc
                                      checkout no dia N+1
                dev 1
                                        diferente do dev 1


                          checkout no dia N
distribuído
•   cada cópia é um repositório completo
•   histórico completo e total
•   commit local {on|off}line
•   commits podem ser transferidos entre repositórios
    de forma simples com pull ou push

                    dev 3

    dev 1


                            dev n

            dev 2
distribuído
•   cada cópia é um repositório completo
•   histórico completo e total
•   commit local {on|off}line
•   commits podem ser transferidos entre repositórios
    de forma simples com pull ou push

                    dev 3

    dev 1


                            dev n     uma nova cópia pode ser
                                    feita de qualquer repositório
            dev 2
distribuído
•   cada cópia é um repositório completo
•   histórico completo e total
•   commit local {on|off}line
•   commits podem ser transferidos entre repositórios
    de forma simples com pull ou push

                    dev 3

    dev 1                           commits podem ser transferidos
                                       por todos repositórios

                            dev n         uma nova cópia pode ser
                                        feita de qualquer repositório
            dev 2
você pode fazer commit de
qualquer lugar, até no avião!
você pode fazer commit de
qualquer lugar, até no avião!




         RLY?
branches
• rápido!
• muito rápido!
• branches locais baratas
• branches também podem ser remotas (github)
• merge super poderoso
• uma branch para cada feature/história/bug/etc
histórico   merge

  logs       pull

  diffs     push

commits      tag
stash


 index


 bisect


GIT-SVN
eu ti l i dades
   rramen tas
fe
o terminal é
seu amigo :)
gitk
tower
... e muitas outras
          ferramentas
• gitnub
• qgit
• git-gui
• tortoise-git
• ...
github
comunidade em
torno de código
 muitos projetos
  open source
   serve para
projetos privados
funciona! funciona
   muito bem!
grátis para open    comunidade em
     source         torno de código
fork de maneira      muitos projetos
  fácil e rápida      open source
 facilita muito a      serve para
   colaboração      projetos privados
é o queridinho na   funciona! funciona
   comunidade          muito bem!
reddit
 Ruby on Rails
                         curl
           jQuery
                     CakePHP
            Redis
                       django
           node.js
                     mongodb
Quem usa
 github
Servidor GIT privado

            • gratuito
gitorious   • open source
            • pode ser usado também
             online como o github,
             também gratuito
muitas opções

• gitosis
• codebasehq
• repo.or.cz
• gitorious
• ...
Para o alto e avante




  akitaonrails.com/screencasts
dúvidas?
Referências

• git-scm.org
• github.com/guides/home
• akitaonrails.com
• “Git: controle de versão de jeito certo” -
  por Arthur Zapparoli
Controle de versão com
           GIT

Paulo César M Jeveaux
@jeveaux
jeveaux.com

Mais conteúdo relacionado

Mais procurados

Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Wellington Silva
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerRafael Gomes
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerWellington Silva
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting dockerRafael Gomes
 
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com DockerAécio Pires
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhatdc-globalcode
 
Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?Marcos Paulo de Souza
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerWaldemar Neto
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoTobias Sette
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o DockerWebSix
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerBruno Ricardo Siqueira
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Renato Groff
 

Mais procurados (20)

Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
 
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
 
Git Básico
Git BásicoGit Básico
Git Básico
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + docker
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting docker
 
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unha
 
Bem vindo ao Docker
Bem vindo ao DockerBem vindo ao Docker
Bem vindo ao Docker
 
Apresentacao docker
Apresentacao dockerApresentacao docker
Apresentacao docker
 
Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?Linux Containers: do que são feitos? de onde vem? quem os alimenta?
Linux Containers: do que são feitos? de onde vem? quem os alimenta?
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e Docker
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça o Docker
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o Docker
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
 

Destaque

[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de Versão[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de VersãoMarco Rosner
 
QConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestruturaQConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestruturaDiego Pacheco
 
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...especificacoes.com
 
Apresentação do SAEO na Administração Pública
Apresentação do SAEO na Administração PúblicaApresentação do SAEO na Administração Pública
Apresentação do SAEO na Administração PúblicaMarco Rosner
 
Controle de Mudanças com GitHub
Controle de Mudanças com GitHubControle de Mudanças com GitHub
Controle de Mudanças com GitHubBruno Furtado
 
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataformaWine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataformaPaulo César M Jeveaux
 
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVNControle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVNFelipe Queiroz
 
Workshop sistema de versionamento de código - git
Workshop  sistema de versionamento de código - gitWorkshop  sistema de versionamento de código - git
Workshop sistema de versionamento de código - gitThiago Filadelfo
 
GCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisGCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisMisael Santos
 
GCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS ÁgilGCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS ÁgilMisael Santos
 
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version ControlJoomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version ControlJoomla!Day Brasil
 
Introdução ao Sistema de Controle de Versão
Introdução ao Sistema de Controle de VersãoIntrodução ao Sistema de Controle de Versão
Introdução ao Sistema de Controle de VersãoFernando Machado
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Diego Pacheco
 
Controle de versão com Git e BitBucket
Controle de versão com Git e BitBucketControle de versão com Git e BitBucket
Controle de versão com Git e BitBucketMarcio Barbosa
 
Controle de versão utilizando git
Controle de versão utilizando gitControle de versão utilizando git
Controle de versão utilizando gitfredmosc
 
Mini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-githubMini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-githubWilson Mendes
 
O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0Wilson Mendes
 
Sistemas de Controle de Versão
Sistemas de Controle de VersãoSistemas de Controle de Versão
Sistemas de Controle de VersãoJonathas Silva
 

Destaque (20)

[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de Versão[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de Versão
 
QConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestruturaQConSP: Vivenciando dev ops para além da automação de infraestrutura
QConSP: Vivenciando dev ops para além da automação de infraestrutura
 
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
Transformando a experiência dos times de DEV, OPS & BIZ nos Sistemas Financei...
 
Apresentação do SAEO na Administração Pública
Apresentação do SAEO na Administração PúblicaApresentação do SAEO na Administração Pública
Apresentação do SAEO na Administração Pública
 
Controle de Mudanças com GitHub
Controle de Mudanças com GitHubControle de Mudanças com GitHub
Controle de Mudanças com GitHub
 
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataformaWine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
 
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVNControle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
 
Workshop sistema de versionamento de código - git
Workshop  sistema de versionamento de código - gitWorkshop  sistema de versionamento de código - git
Workshop sistema de versionamento de código - git
 
GCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisGCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos Principais
 
GCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS ÁgilGCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS Ágil
 
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version ControlJoomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
Joomla!Day Brasil 2008 - FláVio Kubota - Gsoc Version Control
 
Introdução ao Sistema de Controle de Versão
Introdução ao Sistema de Controle de VersãoIntrodução ao Sistema de Controle de Versão
Introdução ao Sistema de Controle de Versão
 
Alm open source
Alm open sourceAlm open source
Alm open source
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0
 
Controle de versão com Git e BitBucket
Controle de versão com Git e BitBucketControle de versão com Git e BitBucket
Controle de versão com Git e BitBucket
 
Android UI Fundamentals part 1
Android UI Fundamentals part 1Android UI Fundamentals part 1
Android UI Fundamentals part 1
 
Controle de versão utilizando git
Controle de versão utilizando gitControle de versão utilizando git
Controle de versão utilizando git
 
Mini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-githubMini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-github
 
O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0
 
Sistemas de Controle de Versão
Sistemas de Controle de VersãoSistemas de Controle de Versão
Sistemas de Controle de Versão
 

Semelhante a Controle de versão com GIT

SVN: Controle de revisões com subversion - Thiago Rafael Becker
SVN: Controle de revisões com subversion - Thiago Rafael BeckerSVN: Controle de revisões com subversion - Thiago Rafael Becker
SVN: Controle de revisões com subversion - Thiago Rafael BeckerTchelinux
 
Subvertendo o codigo PHP com SVN - ENSOL
Subvertendo o codigo PHP com SVN - ENSOLSubvertendo o codigo PHP com SVN - ENSOL
Subvertendo o codigo PHP com SVN - ENSOLRicardo Coelho
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceGlobalcode
 
Subvertendo o código PHP com SVN
Subvertendo o código PHP com SVNSubvertendo o código PHP com SVN
Subvertendo o código PHP com SVNRicardo Coelho
 
Como colaborar com projetos opensource com o GitHub
Como colaborar com projetos opensource com o GitHubComo colaborar com projetos opensource com o GitHub
Como colaborar com projetos opensource com o GitHubJulio Monteiro
 
7Masters - Devops - Do legado ao ci cd em 7 minutos
7Masters - Devops - Do legado ao ci cd em 7 minutos7Masters - Devops - Do legado ao ci cd em 7 minutos
7Masters - Devops - Do legado ao ci cd em 7 minutosiMasters
 
Entendendo a linkedição em C++
Entendendo a linkedição em C++Entendendo a linkedição em C++
Entendendo a linkedição em C++Rodrigo Strauss
 
Integração Contínua com Hudson
Integração Contínua com HudsonIntegração Contínua com Hudson
Integração Contínua com HudsonLuis Reis
 
Git e a importância de versionar um projeto
 Git e a importância de versionar um projeto Git e a importância de versionar um projeto
Git e a importância de versionar um projetoGuilherme Farias
 
Workshop ExtJS4
Workshop ExtJS4Workshop ExtJS4
Workshop ExtJS4javamanrj
 
Git - Controle de Versão Inteligente
Git - Controle de Versão InteligenteGit - Controle de Versão Inteligente
Git - Controle de Versão InteligenteAdriano Rocha
 
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containersTDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containerstdc-globalcode
 

Semelhante a Controle de versão com GIT (20)

Go git - Presentation @Navita
Go git - Presentation @NavitaGo git - Presentation @Navita
Go git - Presentation @Navita
 
SVN: Controle de revisões com subversion - Thiago Rafael Becker
SVN: Controle de revisões com subversion - Thiago Rafael BeckerSVN: Controle de revisões com subversion - Thiago Rafael Becker
SVN: Controle de revisões com subversion - Thiago Rafael Becker
 
Subvertendo o codigo PHP com SVN - ENSOL
Subvertendo o codigo PHP com SVN - ENSOLSubvertendo o codigo PHP com SVN - ENSOL
Subvertendo o codigo PHP com SVN - ENSOL
 
Docker + Django
Docker + DjangoDocker + Django
Docker + Django
 
Hubot deployments
Hubot deploymentsHubot deployments
Hubot deployments
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open Source
 
Apresentacao git
Apresentacao gitApresentacao git
Apresentacao git
 
Subvertendo o código PHP com SVN
Subvertendo o código PHP com SVNSubvertendo o código PHP com SVN
Subvertendo o código PHP com SVN
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Como colaborar com projetos opensource com o GitHub
Como colaborar com projetos opensource com o GitHubComo colaborar com projetos opensource com o GitHub
Como colaborar com projetos opensource com o GitHub
 
7Masters - Devops - Do legado ao ci cd em 7 minutos
7Masters - Devops - Do legado ao ci cd em 7 minutos7Masters - Devops - Do legado ao ci cd em 7 minutos
7Masters - Devops - Do legado ao ci cd em 7 minutos
 
Docker.io:
Docker.io: Docker.io:
Docker.io:
 
Entendendo a linkedição em C++
Entendendo a linkedição em C++Entendendo a linkedição em C++
Entendendo a linkedição em C++
 
Integração Contínua com Hudson
Integração Contínua com HudsonIntegração Contínua com Hudson
Integração Contínua com Hudson
 
Git e a importância de versionar um projeto
 Git e a importância de versionar um projeto Git e a importância de versionar um projeto
Git e a importância de versionar um projeto
 
Git
GitGit
Git
 
.Net Core + Docker
.Net Core +  Docker.Net Core +  Docker
.Net Core + Docker
 
Workshop ExtJS4
Workshop ExtJS4Workshop ExtJS4
Workshop ExtJS4
 
Git - Controle de Versão Inteligente
Git - Controle de Versão InteligenteGit - Controle de Versão Inteligente
Git - Controle de Versão Inteligente
 
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containersTDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
 

Mais de Paulo César M Jeveaux

Empreendedorismo além do mundo da fantasia
Empreendedorismo além do mundo da fantasiaEmpreendedorismo além do mundo da fantasia
Empreendedorismo além do mundo da fantasiaPaulo César M Jeveaux
 
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...Paulo César M Jeveaux
 
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-diaCase Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-diaPaulo César M Jeveaux
 
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatosSCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatosPaulo César M Jeveaux
 
Desenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUMDesenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUMPaulo César M Jeveaux
 
Negociação de contratos de projetos de software
Negociação de contratos de projetos de softwareNegociação de contratos de projetos de software
Negociação de contratos de projetos de softwarePaulo César M Jeveaux
 
Desenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUMDesenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUMPaulo César M Jeveaux
 
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate SearchTurbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate SearchPaulo César M Jeveaux
 
Comunidades Virtuais Java - Conexão Java - 2004
Comunidades Virtuais Java - Conexão Java - 2004Comunidades Virtuais Java - Conexão Java - 2004
Comunidades Virtuais Java - Conexão Java - 2004Paulo César M Jeveaux
 

Mais de Paulo César M Jeveaux (20)

Empreendedorismo além do mundo da fantasia
Empreendedorismo além do mundo da fantasiaEmpreendedorismo além do mundo da fantasia
Empreendedorismo além do mundo da fantasia
 
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
 
E-commerce Além dos Sites
E-commerce Além dos SitesE-commerce Além dos Sites
E-commerce Além dos Sites
 
Resenha Rework por Jeveaux
Resenha Rework por JeveauxResenha Rework por Jeveaux
Resenha Rework por Jeveaux
 
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-diaCase Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
 
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatosSCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
 
Desafios no e-commerce brasileiro
Desafios no e-commerce brasileiroDesafios no e-commerce brasileiro
Desafios no e-commerce brasileiro
 
Desenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUMDesenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUM
 
Negociação de contratos de projetos de software
Negociação de contratos de projetos de softwareNegociação de contratos de projetos de software
Negociação de contratos de projetos de software
 
Desenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUMDesenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUM
 
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate SearchTurbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
 
Palestra Testes De Unidade Com JUnit
Palestra Testes De Unidade Com JUnitPalestra Testes De Unidade Com JUnit
Palestra Testes De Unidade Com JUnit
 
Extreme Programming - XP
Extreme Programming - XPExtreme Programming - XP
Extreme Programming - XP
 
Desenvolvimento Ágil com SCRUM
Desenvolvimento Ágil com SCRUMDesenvolvimento Ágil com SCRUM
Desenvolvimento Ágil com SCRUM
 
Certificação Digital
Certificação DigitalCertificação Digital
Certificação Digital
 
AOP - JustJava - 2005
AOP - JustJava - 2005AOP - JustJava - 2005
AOP - JustJava - 2005
 
AOP - ESJUG - 2005
AOP - ESJUG - 2005AOP - ESJUG - 2005
AOP - ESJUG - 2005
 
Comunidades Virtuais Java - Conexão Java - 2004
Comunidades Virtuais Java - Conexão Java - 2004Comunidades Virtuais Java - Conexão Java - 2004
Comunidades Virtuais Java - Conexão Java - 2004
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
JGoodies - Conexão Java 2005
JGoodies - Conexão Java 2005JGoodies - Conexão Java 2005
JGoodies - Conexão Java 2005
 

Controle de versão com GIT

  • 1. Controle de versão com GIT Paulo César M Jeveaux @jeveaux jeveaux.com
  • 2.
  • 3. controlar versão de código, Batman, pra que isso?
  • 4. controlar versão de código, Batman, pra que ouch! isso?
  • 5. controlar versão de código, Batman, pra que ouch! isso? Robin, como você controla as alterações do seu código? E como você controla as versões do seu produto? E o hitórico de tudo isso?
  • 6. • Open Source • Criado por Linus Torvalds git • Necessidade de manter o controle de versão do código do Kernel do Linux • Mantido por Junio Hamano • Para projetos P, M, G e XG • Sistema de controle de versões distribuído!
  • 7. • Desenvolvimento distribuído • Rápido! git • Branches e merges sem dor e forma simples • Rápido! • Eficiente e simples • Comunidade forte • Rápido!
  • 9. alguém usa isso? Linux Kernel Android X.org Perl Fedora PostgreSQL gnome Debian ...muitos outros
  • 11. centralizado • repositório único e centralizado • commit só por usuário com permissão dev n repositório dev 3 dev 2 dev 1
  • 12. centralizado • repositório único e centralizado • commit só por usuário com permissão dev n repositório dev 3 históricos, commits, dev 2 branches, etc dev 1
  • 13. centralizado • repositório único e centralizado • commit só por usuário com permissão dev n repositório dev 3 históricos, commits, dev 2 branches, etc dev 1 checkout no dia N
  • 14. centralizado • repositório único e centralizado • commit só por usuário com permissão dev n repositório dev 3 históricos, commits, dev 2 branches, etc checkout no dia N+1 dev 1 diferente do dev 1 checkout no dia N
  • 15. centralizado • repositório único e centralizado • commit só por usuário com permissão dev n repositório dev 3 checkout no dia N+2 históricos, diferente do dev 1 e 2 commits, dev 2 branches, etc checkout no dia N+1 dev 1 diferente do dev 1 checkout no dia N
  • 16. centralizado • repositório único e centralizado • commit só por usuário com permissão dev n repositório checkout no dia N+3 diferente do dev 1, 2 e 3 dev 3 checkout no dia N+2 históricos, diferente do dev 1 e 2 commits, dev 2 branches, etc checkout no dia N+1 dev 1 diferente do dev 1 checkout no dia N
  • 17. distribuído • cada cópia é um repositório completo • histórico completo e total • commit local {on|off}line • commits podem ser transferidos entre repositórios de forma simples com pull ou push dev 3 dev 1 dev n dev 2
  • 18. distribuído • cada cópia é um repositório completo • histórico completo e total • commit local {on|off}line • commits podem ser transferidos entre repositórios de forma simples com pull ou push dev 3 dev 1 dev n uma nova cópia pode ser feita de qualquer repositório dev 2
  • 19. distribuído • cada cópia é um repositório completo • histórico completo e total • commit local {on|off}line • commits podem ser transferidos entre repositórios de forma simples com pull ou push dev 3 dev 1 commits podem ser transferidos por todos repositórios dev n uma nova cópia pode ser feita de qualquer repositório dev 2
  • 20. você pode fazer commit de qualquer lugar, até no avião!
  • 21. você pode fazer commit de qualquer lugar, até no avião! RLY?
  • 23. • rápido! • muito rápido! • branches locais baratas • branches também podem ser remotas (github) • merge super poderoso • uma branch para cada feature/história/bug/etc
  • 24. histórico merge logs pull diffs push commits tag
  • 26. eu ti l i dades rramen tas fe
  • 27. o terminal é seu amigo :)
  • 28. gitk
  • 29. tower
  • 30. ... e muitas outras ferramentas • gitnub • qgit • git-gui • tortoise-git • ...
  • 32.
  • 33. comunidade em torno de código muitos projetos open source serve para projetos privados funciona! funciona muito bem!
  • 34. grátis para open comunidade em source torno de código fork de maneira muitos projetos fácil e rápida open source facilita muito a serve para colaboração projetos privados é o queridinho na funciona! funciona comunidade muito bem!
  • 35. reddit Ruby on Rails curl jQuery CakePHP Redis django node.js mongodb Quem usa github
  • 36. Servidor GIT privado • gratuito gitorious • open source • pode ser usado também online como o github, também gratuito
  • 37. muitas opções • gitosis • codebasehq • repo.or.cz • gitorious • ...
  • 38. Para o alto e avante akitaonrails.com/screencasts
  • 40. Referências • git-scm.org • github.com/guides/home • akitaonrails.com • “Git: controle de versão de jeito certo” - por Arthur Zapparoli
  • 41. Controle de versão com GIT Paulo César M Jeveaux @jeveaux jeveaux.com