SlideShare uma empresa Scribd logo
Go GIT
Controle de Versão Distribuido




                                 By @_marcospaulo_
O que é controle de versão?
                  - Guarda as mudanças de
                  arquivos em versões para
                  que você possa recuperá-
                         los depois.


 - Guarda informações de quem fez as
modificações, faz comparações de versões
              modificadas.
Ou seja...
Se você esculhambar as coisas ou perder arquivos,
       facilmente podemos recuperá-los.....



                       e...



         Nó saberemos que foi você!!!!
Controle de Versão local
          Método de controle era
         copiar arquivos em pastas

           Depois foi criada uma
           estratégia de salvar as
        mudanças em banco de dados

         Rcs foi o VCS tools mais
        conhecida e inclusive ainda
        hoje vem junto com MacOS
Sistemas De Controle de
           Versão Centralizado
  Apenas um servidor
    que contém os
 arquivos versionados.

 Vários clientes baixam
esses arquivos e depois
enviam eles modificados
 e baixam modificações
   dos outros e assim
     sucetivamente.
Sistemas De Controle de
           Versão Centralizado
- Desvantagens
   Arquivos centralizados em um único servidor .
   Se a rede cair ninguém mais pode comitar e os
     arquivos não estarão mais sob controle de
                       versão.
Sistemas De Controle De
             Versão Distribuidos.
                                Computadores que baixam os
                                projetos não pegam apenas a
                               última versão dos arquivos, mas
                             sim ele espelha todo o repositório.



  Posso trabalhar simultaneamente em
   repositórios diferentes com grupos
diferentes e depois juntar ao repositório
      final mantendo todo histórico.
Visão de Repositórios
Pequena História do GIT
    •   Criado inicialmente para manter o código do kernel do
        linux.

    •   Criado por Linus Torvalds, o criador do Linux, e a sua
        comunidade de desenvolvimento.

 Feito pra ser:
        - Rápido
- Suporte muito bom para desenvolvimento não linear.
                                 - Totalmente distribuido
Snapshots e não diferenças
                  CVS, SVN...




 GIT
Quase todas as
                  operações são locais
                                       •   Se você comparar com SVN,
                                           CVS, perceberá que os deuses
                                           abençoaram o Git com poderes
                                           inexpressáveis



•   Todo seu histórico do projeto
    estará no seu disco local, quase
    todas as operações pareceram
    instantâneas.
Git tem integridade
        •   Antes de salvar os arquivos ele faz uma validação através
            de checksum.



•   Impossível modificar um arquivo
    sem que o GIT saiba.

•   Mecanismo de checksum
    chamado de SHA-1 hash.
GIT apenas adiciona dados

• Suas ações no git, praticamente todas só adicionam
     dados ao banco de dados do Git.


•   Você tem que ser muito fera
    pra conseguir fazer algo no
    sistema que não possa ser
    desfeito ou que faça apagar
    dados.

•   Documento commitado e
    pushado é documento
    praticamente imperdível.
Com o GIT....
•   O Git você praticamente trabalha local, faz seus
    commits no seu database local e depois manda um
    push pro servidor enviando todo teu snapshot e
    ele se responsabiliza por organizar as snapshots.



          Com o SVN, CVS....
•   Já aqui você modifica e commita pro servidor
    guardar tua mudança, commita e joga pro servidor
    guardar a mudança, não há como commitar local e
    depois só salvar pro servidor...
Ai eu te pergunto
O QUE ACONTECERIA
 SE TODA A REDE DA
   NAVITA CAÍSSE
     AGORA E SÓ
VOLTASSE AMANHÃ?
Vamos entender o quanto esse problema
é grave com um exemplo prático e rápido
Exemplo prático e rápido


Você vai viajar pras Filipinas e ficará horas no
    avião morgando sem nada pra fazer.
Exemplo prático e rápido

Mas ai você tem a brilhante ideia de se divertir
   no avião programando no seu notebook
naquele seu projeto lá do trabalho que tá irado.
Exemplo prático e rápido

• Com SVN
Você programa, programa, programa, programa a
viagem toda... cria uma funcionalidade nova legal
  pra caramba mas meche em vários arquivos.
Exemplo prático e rápido

• Com SVN
   Quando você chega no hotel então você
commita tudo lá pro servidor, porque você agora
      tá com internet e pode acessá-lo.
Exemplo prático e rápido

 • Com SVN
  Ai o seu amigo Astronildo do trabalho liga pra
você e diz que seu último commit bugou toda uma
funcionalidade que já estava pronta a muito tempo
Exemplo prático e rápido

• Com SVN
 Mas você fez muitas modificações, não tem ideia
de onde você esculhambou a aplicação, e você não
pode ficar voltando versões porque durante o voo
 você não fez nenhum commit, daí só existe duas
    versões... a de antes do voo e a de depois
Exemplo prático e rápido

• Com SVN
Exemplo prático e rápido

• Com o GIT
 Você programa, commita, programa, commita,
 programa, commita a viagem toda... cria uma
  funcionalidade nova legal pra caramba e vai
  criando branches lógicos pros testes e tudo
       mais.... e commita... e programa...
Exemplo prático e rápido

• Com o GIT
Quando você chega no hotel então você faz um
 push de todos os snapshots e históricos pro
servidor, porque você agora tá com internet e
               pode acessá-lo.
Exemplo prático e rápido

• Com o GIT
   Ai o seu amigo Astronildo do trabalho liga pra
  você e diz que seu último push bugou toda uma
funcionalidade que já estava pronta a muito tempo
Exemplo prático e rápido

• Com o GIT
Mas você usou o GIT, todas as mudanças que você
      fez foram versionadas, você pode ficar
  recuperando etapas de mudanças do voo até a
 funcionalidade voltar a funcionar... e assim você
nao perde todo o trabalho... ou mesmo não perde
                trabalho nenhum
Exemplo prático e rápido

• Com o GIT



                  Você Owna!!!!!
Ascensão do GIT

Mas o que fez o GIT estourar e ser tão usado
 hoje por várias start-ups, grandes empresas,
vários profissionais, por vários projetos open
sources e o que fez ele ganhar tanto destaque
              nos últimos anos?
GitHub is the best way to
collaborate with others. Fork,
send pull requests and manage
all your public and private git
repositories.
O que é o github?
• Servidor de repositórios
• Rede Social
• Gerenciador de projetos em questões
  técnicas.
• Wikis, Code Review, Gráficos, Issue Tracker
  e muito mais.
Mas qual empresa séria de
verdade seria louca de entregar
seus códigos fontes na mão de
    servidor de terceiros?
Aqui vai algumas...
Let`s Take A Look At
       GitHub
Perguntas??
Obrigado a todos




                Até a próxima
github.com/marcospaulo          By @_marcospaulo_

Mais conteúdo relacionado

Mais procurados

TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de Docker
Stefan Teixeira
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
André Justi
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
Waldemar Neto
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código Fácil
Tiago Antônio da Silva
 
Orquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeOrquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e Compose
Roberto Hashioka
 
Git
GitGit
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
Michael Castillo Granados
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
Rafael Gomes
 
Apresentação docker
Apresentação dockerApresentação docker
Apresentação docker
Marcelo Fleury
 
Workshop Docker
Workshop DockerWorkshop Docker
Workshop Docker
Rafael Gomes
 
Git Básico
Git BásicoGit Básico
Git Básico
Bruno Croci
 
Jenkins, o CI ao seu dispor
Jenkins, o CI ao seu disporJenkins, o CI ao seu dispor
Jenkins, o CI ao seu dispor
s4nx
 
Sistemas de Controle de Versão
Sistemas de Controle de VersãoSistemas de Controle de Versão
Sistemas de Controle de Versão
Jonathas Silva
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting docker
Rafael Gomes
 
O poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesO poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e Kubernetes
Willian Azevedo
 
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
Guilherme Farias
 
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
Tobias Sette
 
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e AnsibleTDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
Stefan Teixeira
 
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
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
Amazon Web Services LATAM
 

Mais procurados (20)

TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de Docker
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código Fácil
 
Orquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeOrquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e Compose
 
Git
GitGit
Git
 
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
 
Apresentação docker
Apresentação dockerApresentação docker
Apresentação docker
 
Workshop Docker
Workshop DockerWorkshop Docker
Workshop Docker
 
Git Básico
Git BásicoGit Básico
Git Básico
 
Jenkins, o CI ao seu dispor
Jenkins, o CI ao seu disporJenkins, o CI ao seu dispor
Jenkins, o CI ao seu dispor
 
Sistemas de Controle de Versão
Sistemas de Controle de VersãoSistemas de Controle de Versão
Sistemas de Controle de Versão
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting docker
 
O poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesO poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e Kubernetes
 
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
 
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
 
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e AnsibleTDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
 
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...
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 

Destaque

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
Diego Pacheco
 
Controle de Mudanças com GitHub
Controle de Mudanças com GitHubControle de Mudanças com GitHub
Controle de Mudanças com GitHub
Bruno Furtado
 
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
Fernando Machado
 
[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
Marco Rosner
 
GCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisGCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos Principais
Misael Santos
 
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
Paulo César M Jeveaux
 
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
Joomla!Day Brasil
 
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
Marco Rosner
 
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
 
Controle de versão com GIT
Controle de versão com GITControle de versão com GIT
Controle de versão com GIT
Paulo César M Jeveaux
 
GCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS ÁgilGCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS Ágil
Misael Santos
 
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
Felipe 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 - git
Thiago Filadelfo
 
Alm open source
Alm open sourceAlm open source
Alm open source
Bruno Souza
 
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
Diego Pacheco
 
Android UI Fundamentals part 1
Android UI Fundamentals part 1Android UI Fundamentals part 1
Android UI Fundamentals part 1
Marcos Paulo Souza Damasceno
 
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
Marcio Barbosa
 
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
Wilson Mendes
 
Controle de versão utilizando git
Controle de versão utilizando gitControle de versão utilizando git
Controle de versão utilizando git
fredmosc
 
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
Wilson Mendes
 

Destaque (20)

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
 
Controle de Mudanças com GitHub
Controle de Mudanças com GitHubControle de Mudanças com GitHub
Controle de Mudanças com GitHub
 
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
 
[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
 
GCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisGCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos Principais
 
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
 
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
 
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
 
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...
 
Controle de versão com GIT
Controle de versão com GITControle de versão com GIT
Controle de versão com GIT
 
GCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS ÁgilGCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS Ágil
 
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
 
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
 
Android UI Fundamentals part 1
Android UI Fundamentals part 1Android UI Fundamentals part 1
Android UI Fundamentals part 1
 
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
 
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
 
Controle de versão utilizando git
Controle de versão utilizando gitControle de versão utilizando git
Controle de versão utilizando git
 
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
 

Semelhante a Go git - Presentation @Navita

Git - Controle de Versão Inteligente
Git - Controle de Versão InteligenteGit - Controle de Versão Inteligente
Git - Controle de Versão Inteligente
Adriano Rocha
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Nathália Cruz de Oliveira
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Nathália Cruz de Oliveira
 
Migração SVN para GIT
Migração SVN para GITMigração SVN para GIT
Migração SVN para GIT
Denis Santos
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021
Erik Cruz
 
Controle de versão com Git
Controle de versão com GitControle de versão com Git
Controle de versão com Git
Vanessa Me Tonini
 
Workshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubWorkshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHub
Gilson Junior
 
Curso git-0001
Curso git-0001Curso git-0001
Curso git-0001
sergiosvieira
 
Fluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando GitFluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando Git
Bruno Ricardo Siqueira
 
Primeiros passos - GIT
Primeiros passos - GITPrimeiros passos - GIT
Primeiros passos - GIT
Stefan Horochovec
 
Hubot deployments
Hubot deploymentsHubot deployments
Hubot deployments
Fernando Nogueira
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
André Justi
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
José Alexandre Macedo
 
Introdução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySPIntrodução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySP
Samuel Sampaio
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
Walmyr Carvalho
 
Introducao git fisl
Introducao git fislIntroducao git fisl
Introducao git fisl
Hanneli Tavante
 
SVN - Subversion: Guia de sobrevivência do usuário
SVN - Subversion: Guia de sobrevivência  do usuárioSVN - Subversion: Guia de sobrevivência  do usuário
SVN - Subversion: Guia de sobrevivência do usuário
Fabrício Campos
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!
Vitor Silva
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
Michael Schuenck dos Santos
 
Git github tortoise git
Git github tortoise gitGit github tortoise git
Git github tortoise git
maxrosan
 

Semelhante a Go git - Presentation @Navita (20)

Git - Controle de Versão Inteligente
Git - Controle de Versão InteligenteGit - Controle de Versão Inteligente
Git - Controle de Versão Inteligente
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
 
Migração SVN para GIT
Migração SVN para GITMigração SVN para GIT
Migração SVN para GIT
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021
 
Controle de versão com Git
Controle de versão com GitControle de versão com Git
Controle de versão com Git
 
Workshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubWorkshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHub
 
Curso git-0001
Curso git-0001Curso git-0001
Curso git-0001
 
Fluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando GitFluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando Git
 
Primeiros passos - GIT
Primeiros passos - GITPrimeiros passos - GIT
Primeiros passos - GIT
 
Hubot deployments
Hubot deploymentsHubot deployments
Hubot deployments
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Introdução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySPIntrodução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySP
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Introducao git fisl
Introducao git fislIntroducao git fisl
Introducao git fisl
 
SVN - Subversion: Guia de sobrevivência do usuário
SVN - Subversion: Guia de sobrevivência  do usuárioSVN - Subversion: Guia de sobrevivência  do usuário
SVN - Subversion: Guia de sobrevivência do usuário
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Git github tortoise git
Git github tortoise gitGit github tortoise git
Git github tortoise git
 

Go git - Presentation @Navita

  • 1. Go GIT Controle de Versão Distribuido By @_marcospaulo_
  • 2. O que é controle de versão? - Guarda as mudanças de arquivos em versões para que você possa recuperá- los depois. - Guarda informações de quem fez as modificações, faz comparações de versões modificadas.
  • 3. Ou seja... Se você esculhambar as coisas ou perder arquivos, facilmente podemos recuperá-los..... e... Nó saberemos que foi você!!!!
  • 4. Controle de Versão local Método de controle era copiar arquivos em pastas Depois foi criada uma estratégia de salvar as mudanças em banco de dados Rcs foi o VCS tools mais conhecida e inclusive ainda hoje vem junto com MacOS
  • 5. Sistemas De Controle de Versão Centralizado Apenas um servidor que contém os arquivos versionados. Vários clientes baixam esses arquivos e depois enviam eles modificados e baixam modificações dos outros e assim sucetivamente.
  • 6. Sistemas De Controle de Versão Centralizado - Desvantagens Arquivos centralizados em um único servidor . Se a rede cair ninguém mais pode comitar e os arquivos não estarão mais sob controle de versão.
  • 7. Sistemas De Controle De Versão Distribuidos. Computadores que baixam os projetos não pegam apenas a última versão dos arquivos, mas sim ele espelha todo o repositório. Posso trabalhar simultaneamente em repositórios diferentes com grupos diferentes e depois juntar ao repositório final mantendo todo histórico.
  • 9.
  • 10. Pequena História do GIT • Criado inicialmente para manter o código do kernel do linux. • Criado por Linus Torvalds, o criador do Linux, e a sua comunidade de desenvolvimento. Feito pra ser: - Rápido - Suporte muito bom para desenvolvimento não linear. - Totalmente distribuido
  • 11. Snapshots e não diferenças CVS, SVN... GIT
  • 12. Quase todas as operações são locais • Se você comparar com SVN, CVS, perceberá que os deuses abençoaram o Git com poderes inexpressáveis • Todo seu histórico do projeto estará no seu disco local, quase todas as operações pareceram instantâneas.
  • 13. Git tem integridade • Antes de salvar os arquivos ele faz uma validação através de checksum. • Impossível modificar um arquivo sem que o GIT saiba. • Mecanismo de checksum chamado de SHA-1 hash.
  • 14. GIT apenas adiciona dados • Suas ações no git, praticamente todas só adicionam dados ao banco de dados do Git. • Você tem que ser muito fera pra conseguir fazer algo no sistema que não possa ser desfeito ou que faça apagar dados. • Documento commitado e pushado é documento praticamente imperdível.
  • 15. Com o GIT.... • O Git você praticamente trabalha local, faz seus commits no seu database local e depois manda um push pro servidor enviando todo teu snapshot e ele se responsabiliza por organizar as snapshots. Com o SVN, CVS.... • Já aqui você modifica e commita pro servidor guardar tua mudança, commita e joga pro servidor guardar a mudança, não há como commitar local e depois só salvar pro servidor...
  • 16. Ai eu te pergunto
  • 17. O QUE ACONTECERIA SE TODA A REDE DA NAVITA CAÍSSE AGORA E SÓ VOLTASSE AMANHÃ?
  • 18. Vamos entender o quanto esse problema é grave com um exemplo prático e rápido
  • 19. Exemplo prático e rápido Você vai viajar pras Filipinas e ficará horas no avião morgando sem nada pra fazer.
  • 20. Exemplo prático e rápido Mas ai você tem a brilhante ideia de se divertir no avião programando no seu notebook naquele seu projeto lá do trabalho que tá irado.
  • 21. Exemplo prático e rápido • Com SVN Você programa, programa, programa, programa a viagem toda... cria uma funcionalidade nova legal pra caramba mas meche em vários arquivos.
  • 22. Exemplo prático e rápido • Com SVN Quando você chega no hotel então você commita tudo lá pro servidor, porque você agora tá com internet e pode acessá-lo.
  • 23. Exemplo prático e rápido • Com SVN Ai o seu amigo Astronildo do trabalho liga pra você e diz que seu último commit bugou toda uma funcionalidade que já estava pronta a muito tempo
  • 24. Exemplo prático e rápido • Com SVN Mas você fez muitas modificações, não tem ideia de onde você esculhambou a aplicação, e você não pode ficar voltando versões porque durante o voo você não fez nenhum commit, daí só existe duas versões... a de antes do voo e a de depois
  • 25. Exemplo prático e rápido • Com SVN
  • 26. Exemplo prático e rápido • Com o GIT Você programa, commita, programa, commita, programa, commita a viagem toda... cria uma funcionalidade nova legal pra caramba e vai criando branches lógicos pros testes e tudo mais.... e commita... e programa...
  • 27. Exemplo prático e rápido • Com o GIT Quando você chega no hotel então você faz um push de todos os snapshots e históricos pro servidor, porque você agora tá com internet e pode acessá-lo.
  • 28. Exemplo prático e rápido • Com o GIT Ai o seu amigo Astronildo do trabalho liga pra você e diz que seu último push bugou toda uma funcionalidade que já estava pronta a muito tempo
  • 29. Exemplo prático e rápido • Com o GIT Mas você usou o GIT, todas as mudanças que você fez foram versionadas, você pode ficar recuperando etapas de mudanças do voo até a funcionalidade voltar a funcionar... e assim você nao perde todo o trabalho... ou mesmo não perde trabalho nenhum
  • 30. Exemplo prático e rápido • Com o GIT Você Owna!!!!!
  • 31. Ascensão do GIT Mas o que fez o GIT estourar e ser tão usado hoje por várias start-ups, grandes empresas, vários profissionais, por vários projetos open sources e o que fez ele ganhar tanto destaque nos últimos anos?
  • 32. GitHub is the best way to collaborate with others. Fork, send pull requests and manage all your public and private git repositories.
  • 33. O que é o github? • Servidor de repositórios • Rede Social • Gerenciador de projetos em questões técnicas. • Wikis, Code Review, Gráficos, Issue Tracker e muito mais.
  • 34. Mas qual empresa séria de verdade seria louca de entregar seus códigos fontes na mão de servidor de terceiros?
  • 36. Let`s Take A Look At GitHub
  • 38. Obrigado a todos Até a próxima github.com/marcospaulo By @_marcospaulo_

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n