SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
Git
Sistema de Controle de Versão
VCS
 Version Control System



        SCM
Source Code Management
Em síntese, é um software que gerencia
    múltiplas versões de arquivos.
●   Salva alterações de arquivos de texto.
●   Gerencia versão do software em si.
●   Auxilia trabalho em equipe.
●   Permite resgatar versões anteriores e,
    eventualmente, ramificar o projeto.
Repositório




Cópia local                 Cópia local




              Cópia local
Repositório




Commit                 Update




         Cópia local
Projeto finalizado


One bourbon, one scotch, one beer



Bo bo bo bo bo bo bo bad



Alley is the roughest place I've ever been



Implementação da feature X



Criação do projeto



Primeiro commit
Branches
Repositório "alternativo"
Repositório




              Cópia local
                (trunk)


Cópia local                 Cópia local
(branch 1)                  (branch 2)
Tags
Permite etiquetar algum nó
Projeto finalizado


   Thorogood        One bourbon, one scotch, one beer



                    Bo bo bo bo bo bo bo bad



Stevie Ray Vaughn   Alley is the roughest place I've ever been



                    Implementação do sistema de mú



                    Criação do projeto



                    Primeiro commit
CVS & SVN
Git
Sistema de Controle de Versão Distribuído
Repositório




Repositório                 Repositório
Commits locais
Mudança de Fluxo
        Antes                  Agora

1. Desenvolve feature   1. Desenvolve feature
2. Faz update           2. Comita alteração
3. Comita alteração        local
                        3. Atualiza: pull
                        4. Envia commits:
                           push
Branches
mais eficientes
Na prática
$ git init .
criando um repositório
$ git add teste.txt
adicionando arquivos para serem comitados
$ git commit -m "primeiro commit"
        comitando alterações
$ git clone /caminho/para/o/repositorio
        clonando um repositório
$ git push origin master
enviando commits para o branch master no
            repositório origin
$ git pull origin master
recebendo commits do o branch master no
           repositório origin
Clientes
●   Plugin para Eclipse: EGit
●   Windows: Tortoise Git
●   Mac: SourceTree ou GitX
●   Para os fortes: modo texto m/
Boas práticas
porque não basta só usar a ferramenta
Commits conscientes
● Comitar sempre que
  ○ terminar uma feature ou
  ○ corrigir um bug.
● Incluir somente os arquivos certos daquela
  alteração.
● Comentários de commits claros e concisos,
  seguindo padrões definidos para o projeto.
● Jamais comitar algo que não está testado ou
  que não está terminado.
Comunicação
entre a equipe é essencial para evitar
              conflitos
Usar tags
para definir versões do projeto
Extras
● Pro Git
  http://git-scm.com/book/
● Magia Git
  http://www.slideshare.net/slide_user/magia-git
● VideoCast Começando com Git
  http://vimeo.com/43683141
● Git Docs
  http://git-scm.com/documentation
● Git Immersion
  http://gitimmersion.com/
● Easy Version Control with Git
  http://net.tutsplus.com/tutorials/other/easy-version-control-with-git/
● Git From the Bottom Up
  http://ftp.newartisans.com/pub/git.from.bottom.up.pdf

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Introdução ao GitHub e Git
Introdução ao GitHub  e GitIntrodução ao GitHub  e Git
Introdução ao GitHub e Git
 
Controle de versão com e git
Controle de versão com e gitControle de versão com e git
Controle de versão com e git
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
Git e GitHub - Conceitos Básicos
Git e GitHub - Conceitos BásicosGit e GitHub - Conceitos Básicos
Git e GitHub - Conceitos Básicos
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básico
 
Git - GitHub
Git - GitHubGit - GitHub
Git - GitHub
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Aprendendo Git
Aprendendo GitAprendendo Git
Aprendendo Git
 
Apresentacao docker
Apresentacao dockerApresentacao docker
Apresentacao docker
 
Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Docker volumes
Docker volumesDocker volumes
Docker volumes
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
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
 
Apresentação docker
Apresentação dockerApresentação docker
Apresentação docker
 
Aula 3 - Curso Git e Github - Webschool
Aula 3 - Curso Git e Github - WebschoolAula 3 - Curso Git e Github - Webschool
Aula 3 - Curso Git e Github - Webschool
 
Git v2
Git v2Git v2
Git v2
 
Git e Github para Iniciantes by Alysson Ajackson
Git e Github para Iniciantes by Alysson AjacksonGit e Github para Iniciantes by Alysson Ajackson
Git e Github para Iniciantes by Alysson Ajackson
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
 
Msr (ideia) {pptx}
Msr (ideia) {pptx}Msr (ideia) {pptx}
Msr (ideia) {pptx}
 

Destaque

Mini-curso de Linux - SECCOMP 2009
Mini-curso de Linux - SECCOMP 2009Mini-curso de Linux - SECCOMP 2009
Mini-curso de Linux - SECCOMP 2009CI&T
 
Dev ninja -> vagrant + virtualbox + chef-solo + git + ec2
Dev ninja  -> vagrant + virtualbox + chef-solo + git + ec2Dev ninja  -> vagrant + virtualbox + chef-solo + git + ec2
Dev ninja -> vagrant + virtualbox + chef-solo + git + ec2Yros
 
PHP - Programação para seres humanos
PHP - Programação para seres humanosPHP - Programação para seres humanos
PHP - Programação para seres humanosCaike Souza
 
IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
 IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando... IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...Diego Santos
 
Gestão automática de configuração usando puppet
Gestão automática de configuração usando puppetGestão automática de configuração usando puppet
Gestão automática de configuração usando puppetDaniel Sobral
 
Infraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISLInfraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISLJose Augusto Carvalho
 
Ferramentas para infraestrutura ágil
Ferramentas para infraestrutura ágilFerramentas para infraestrutura ágil
Ferramentas para infraestrutura ágilJose Augusto Carvalho
 
Aula 1 sistema operacional linux
Aula 1 sistema operacional linuxAula 1 sistema operacional linux
Aula 1 sistema operacional linuxRogério Cardoso
 
Php e mysql aplicacao completa a partir do zero
Php e mysql   aplicacao completa a partir do zeroPhp e mysql   aplicacao completa a partir do zero
Php e mysql aplicacao completa a partir do zeroFred Ramos
 

Destaque (11)

Mini-curso de Linux - SECCOMP 2009
Mini-curso de Linux - SECCOMP 2009Mini-curso de Linux - SECCOMP 2009
Mini-curso de Linux - SECCOMP 2009
 
Dev ninja -> vagrant + virtualbox + chef-solo + git + ec2
Dev ninja  -> vagrant + virtualbox + chef-solo + git + ec2Dev ninja  -> vagrant + virtualbox + chef-solo + git + ec2
Dev ninja -> vagrant + virtualbox + chef-solo + git + ec2
 
PHP - Programação para seres humanos
PHP - Programação para seres humanosPHP - Programação para seres humanos
PHP - Programação para seres humanos
 
IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
 IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando... IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
 
Gestão automática de configuração usando puppet
Gestão automática de configuração usando puppetGestão automática de configuração usando puppet
Gestão automática de configuração usando puppet
 
Infraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISLInfraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISL
 
Ferramentas para infraestrutura ágil
Ferramentas para infraestrutura ágilFerramentas para infraestrutura ágil
Ferramentas para infraestrutura ágil
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Firewall linux virtual para windows
Firewall linux virtual para windowsFirewall linux virtual para windows
Firewall linux virtual para windows
 
Aula 1 sistema operacional linux
Aula 1 sistema operacional linuxAula 1 sistema operacional linux
Aula 1 sistema operacional linux
 
Php e mysql aplicacao completa a partir do zero
Php e mysql   aplicacao completa a partir do zeroPhp e mysql   aplicacao completa a partir do zero
Php e mysql aplicacao completa a partir do zero
 

Semelhante a Git - Sistema de Controle de Versão Distribuído

Introdução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySPIntrodução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySPSamuel Sampaio
 
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...tdc-globalcode
 
Github para colaboradores livres
Github para colaboradores livresGithub para colaboradores livres
Github para colaboradores livresThiago Sciotta
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com GitRaphael Cruzeiro
 
Treinamento - Iniciando no Git e Github by Leandro Alves
Treinamento  - Iniciando no Git e Github by Leandro AlvesTreinamento  - Iniciando no Git e Github by Leandro Alves
Treinamento - Iniciando no Git e Github by Leandro AlvesLeandro Alves
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET ComputaçãoBruno Orlandi
 
Conhecendo o git.
Conhecendo o git.Conhecendo o git.
Conhecendo o git.Rafael Ivan
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesLeandro Cavalcante
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACDanilo Pinotti
 
Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errarBruno Calheira
 
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019Tchelinux
 
Controlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitControlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitC. Augusto Proiete
 

Semelhante a Git - Sistema de Controle de Versão Distribuído (20)

Git do Zero - Campus Party #12
Git do Zero - Campus Party #12Git do Zero - Campus Party #12
Git do Zero - Campus Party #12
 
Introdução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySPIntrodução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySP
 
Git e Github
Git e GithubGit e Github
Git e Github
 
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
 
Git 101
Git 101Git 101
Git 101
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
Git ao GitHub
Git ao GitHubGit ao GitHub
Git ao GitHub
 
Github para colaboradores livres
Github para colaboradores livresGithub para colaboradores livres
Github para colaboradores livres
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
Treinamento - Iniciando no Git e Github by Leandro Alves
Treinamento  - Iniciando no Git e Github by Leandro AlvesTreinamento  - Iniciando no Git e Github by Leandro Alves
Treinamento - Iniciando no Git e Github by Leandro Alves
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
 
Conhecendo o git.
Conhecendo o git.Conhecendo o git.
Conhecendo o git.
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de Versões
 
Git Rápido e Fácil
Git Rápido e FácilGit Rápido e Fácil
Git Rápido e Fácil
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
 
Git
GitGit
Git
 
Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errar
 
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
 
Controlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitControlo de Versões Distribuído com Git
Controlo de Versões Distribuído com Git
 

Mais de Bruno Croci

Introdução a Expressões Regulares
Introdução a Expressões RegularesIntrodução a Expressões Regulares
Introdução a Expressões RegularesBruno Croci
 
Desenvolvimento de Jogos em Java
Desenvolvimento de Jogos em JavaDesenvolvimento de Jogos em Java
Desenvolvimento de Jogos em JavaBruno Croci
 
Plugins para Jogos Online
Plugins para Jogos OnlinePlugins para Jogos Online
Plugins para Jogos OnlineBruno Croci
 
E-Lixo - Como enfrentar esse problema com a própria tecnologia
E-Lixo - Como enfrentar esse problema com a própria tecnologiaE-Lixo - Como enfrentar esse problema com a própria tecnologia
E-Lixo - Como enfrentar esse problema com a própria tecnologiaBruno Croci
 
E-Waste - How to face this issue with the Technology itself
E-Waste - How to face this issue with the Technology itselfE-Waste - How to face this issue with the Technology itself
E-Waste - How to face this issue with the Technology itselfBruno Croci
 
Deficientes Visuais tem, de fato, acesso à inclusão digital através de Softwa...
Deficientes Visuais tem, de fato, acesso à inclusão digital através de Softwa...Deficientes Visuais tem, de fato, acesso à inclusão digital através de Softwa...
Deficientes Visuais tem, de fato, acesso à inclusão digital através de Softwa...Bruno Croci
 

Mais de Bruno Croci (6)

Introdução a Expressões Regulares
Introdução a Expressões RegularesIntrodução a Expressões Regulares
Introdução a Expressões Regulares
 
Desenvolvimento de Jogos em Java
Desenvolvimento de Jogos em JavaDesenvolvimento de Jogos em Java
Desenvolvimento de Jogos em Java
 
Plugins para Jogos Online
Plugins para Jogos OnlinePlugins para Jogos Online
Plugins para Jogos Online
 
E-Lixo - Como enfrentar esse problema com a própria tecnologia
E-Lixo - Como enfrentar esse problema com a própria tecnologiaE-Lixo - Como enfrentar esse problema com a própria tecnologia
E-Lixo - Como enfrentar esse problema com a própria tecnologia
 
E-Waste - How to face this issue with the Technology itself
E-Waste - How to face this issue with the Technology itselfE-Waste - How to face this issue with the Technology itself
E-Waste - How to face this issue with the Technology itself
 
Deficientes Visuais tem, de fato, acesso à inclusão digital através de Softwa...
Deficientes Visuais tem, de fato, acesso à inclusão digital através de Softwa...Deficientes Visuais tem, de fato, acesso à inclusão digital através de Softwa...
Deficientes Visuais tem, de fato, acesso à inclusão digital através de Softwa...
 

Git - Sistema de Controle de Versão Distribuído

  • 2. VCS Version Control System SCM Source Code Management
  • 3. Em síntese, é um software que gerencia múltiplas versões de arquivos.
  • 4. Salva alterações de arquivos de texto. ● Gerencia versão do software em si. ● Auxilia trabalho em equipe. ● Permite resgatar versões anteriores e, eventualmente, ramificar o projeto.
  • 5. Repositório Cópia local Cópia local Cópia local
  • 6. Repositório Commit Update Cópia local
  • 7. Projeto finalizado One bourbon, one scotch, one beer Bo bo bo bo bo bo bo bad Alley is the roughest place I've ever been Implementação da feature X Criação do projeto Primeiro commit
  • 9. Repositório Cópia local (trunk) Cópia local Cópia local (branch 1) (branch 2)
  • 11. Projeto finalizado Thorogood One bourbon, one scotch, one beer Bo bo bo bo bo bo bo bad Stevie Ray Vaughn Alley is the roughest place I've ever been Implementação do sistema de mú Criação do projeto Primeiro commit
  • 13. Git Sistema de Controle de Versão Distribuído
  • 14.
  • 17. Mudança de Fluxo Antes Agora 1. Desenvolve feature 1. Desenvolve feature 2. Faz update 2. Comita alteração 3. Comita alteração local 3. Atualiza: pull 4. Envia commits: push
  • 19.
  • 21. $ git init . criando um repositório
  • 22. $ git add teste.txt adicionando arquivos para serem comitados
  • 23. $ git commit -m "primeiro commit" comitando alterações
  • 24. $ git clone /caminho/para/o/repositorio clonando um repositório
  • 25. $ git push origin master enviando commits para o branch master no repositório origin
  • 26. $ git pull origin master recebendo commits do o branch master no repositório origin
  • 27. Clientes ● Plugin para Eclipse: EGit ● Windows: Tortoise Git ● Mac: SourceTree ou GitX ● Para os fortes: modo texto m/
  • 28. Boas práticas porque não basta só usar a ferramenta
  • 29. Commits conscientes ● Comitar sempre que ○ terminar uma feature ou ○ corrigir um bug. ● Incluir somente os arquivos certos daquela alteração. ● Comentários de commits claros e concisos, seguindo padrões definidos para o projeto. ● Jamais comitar algo que não está testado ou que não está terminado.
  • 30. Comunicação entre a equipe é essencial para evitar conflitos
  • 31. Usar tags para definir versões do projeto
  • 33. ● Pro Git http://git-scm.com/book/ ● Magia Git http://www.slideshare.net/slide_user/magia-git ● VideoCast Começando com Git http://vimeo.com/43683141 ● Git Docs http://git-scm.com/documentation ● Git Immersion http://gitimmersion.com/ ● Easy Version Control with Git http://net.tutsplus.com/tutorials/other/easy-version-control-with-git/ ● Git From the Bottom Up http://ftp.newartisans.com/pub/git.from.bottom.up.pdf