GIT - Conceitos

     Rodrigo Cunha da Costa
     Programação distribuída
          UCPel -2013.1
Professor: Adenauer Correa Yamin
GIT - Conceitos
•   O que é o Git?
•   Porque usar um VCS?
•   Como funciona um VCS
•   Tipos de Controle
•   Vantagens de usar o Git
•   Como usar o Git



05/03/2013             Git - Conceitos   2
O que é o Git?
• Um sistema de controle de versão de
  softwares (VCS – Version Control System)
• Ele é gratuito e com código aberto
• Outros programas SVN, CVS, Perforce.




05/03/2013           Git - Conceitos         3
Porque usar um sistema um VCS
•   Controle de histórico
•   Recuperação de versões estáveis
•   Trabalho em conjunto (Colaboração)
•   Controle de usuário
•   Ramificação do Projeto
•   Usados por várias IDEs (Eclipse, NetBens,
    Dreamweaver...)

05/03/2013             Git - Conceitos          4
Como funciona um VCS
• Composto por duas partes :
      – Repositório – arquivos armazenados
      – Área de trabalho - local
• Sincronização de arquivos:
      – Commit: área de trabalho -> repositório
      – Update: repositório -> área de trabalho
• Controle
      – Cada Commit gera nova revisão no repositório
        (data, modificações e autor)

05/03/2013                 Git - Conceitos             5
Tipos de Controle
• Controle de Versão Centralizado
• Controle de Versão Distribuído




05/03/2013          Git - Conceitos   6
Controle de Versão Centralizado
• Segue a topologia Estrela
• Um repositório e várias cópias




05/03/2013           Git - Conceitos   7
Controle de Versão Distribuído
• Vários repositórios
  autônomos e
  independentes
• Cada repositório possui uma
  área de trabalho acoplada
• Commit e update local



05/03/2013          Git - Conceitos     8
Controle de Versão Distribuído
• Um repositório se comunica com outro
      – Pull (Puxar) – Atualiza o repositório local com
        alterações de um repositório origem
      – Push (Empurrar) – Envia alterações do repositório
        local para outro repositório
• A princípio não existe um repositório mais
  importante.
• Pode-se usar um repositório Central.

05/03/2013                 Git - Conceitos                  9
http://www.pronus.eng.br/artigos_tutoriais/gerencia_configuracao/conceitos_basicos_cont
role_versao_centralizado_e_distribuido.php?pagNum=4
   05/03/2013                           Git - Conceitos                            10
Vantagens de usar o Git
• Tem como objetivo principal velocidade e
  desempenho
• Mais rápido que o SVN segundo (http://git-
  scm.com/about/small-and-fast)
• Usa Arquitetura de Controle de Versão
  Distribuído e com isso, múltiplos Backups
• Qualquer fluxo de trabalho


05/03/2013            Git - Conceitos          11
Vantagens de usar o Git
• Área de Teste (stanging area) : onde commits
  podem ser revisados antes de transferência.
  (opcional)




05/03/2013            Git - Conceitos            12
Referências
• http://git-scm.com/
• http://djalmafilho.blogspot.com.br/2009/02/ola-
  estou-aqui-mais-uma-vez-trazendo-o.html
• http://www.pronus.eng.br/artigos_tutoriais/gere
  ncia_configuracao/conceitos_basicos_controle_v
  ersao_centralizado_e_distribuido.php
• http://www.pronus.eng.br/artigos_tutoriais/gere
  ncia_configuracao/conceitos_basicos_controle_v
  ersao_centralizado_e_distribuido.php?pagNum=
  2
05/03/2013           Git - Conceitos            13
Perguntas
1. Qual melhor arquitetura? Centralizada ou
   Distribuída?
2. Qual a diferença de commit para update
3. Qual diferença entre pull e puch




05/03/2013          Git - Conceitos           14

Git - Conceitos

  • 1.
    GIT - Conceitos Rodrigo Cunha da Costa Programação distribuída UCPel -2013.1 Professor: Adenauer Correa Yamin
  • 2.
    GIT - Conceitos • O que é o Git? • Porque usar um VCS? • Como funciona um VCS • Tipos de Controle • Vantagens de usar o Git • Como usar o Git 05/03/2013 Git - Conceitos 2
  • 3.
    O que éo Git? • Um sistema de controle de versão de softwares (VCS – Version Control System) • Ele é gratuito e com código aberto • Outros programas SVN, CVS, Perforce. 05/03/2013 Git - Conceitos 3
  • 4.
    Porque usar umsistema um VCS • Controle de histórico • Recuperação de versões estáveis • Trabalho em conjunto (Colaboração) • Controle de usuário • Ramificação do Projeto • Usados por várias IDEs (Eclipse, NetBens, Dreamweaver...) 05/03/2013 Git - Conceitos 4
  • 5.
    Como funciona umVCS • Composto por duas partes : – Repositório – arquivos armazenados – Área de trabalho - local • Sincronização de arquivos: – Commit: área de trabalho -> repositório – Update: repositório -> área de trabalho • Controle – Cada Commit gera nova revisão no repositório (data, modificações e autor) 05/03/2013 Git - Conceitos 5
  • 6.
    Tipos de Controle •Controle de Versão Centralizado • Controle de Versão Distribuído 05/03/2013 Git - Conceitos 6
  • 7.
    Controle de VersãoCentralizado • Segue a topologia Estrela • Um repositório e várias cópias 05/03/2013 Git - Conceitos 7
  • 8.
    Controle de VersãoDistribuído • Vários repositórios autônomos e independentes • Cada repositório possui uma área de trabalho acoplada • Commit e update local 05/03/2013 Git - Conceitos 8
  • 9.
    Controle de VersãoDistribuído • Um repositório se comunica com outro – Pull (Puxar) – Atualiza o repositório local com alterações de um repositório origem – Push (Empurrar) – Envia alterações do repositório local para outro repositório • A princípio não existe um repositório mais importante. • Pode-se usar um repositório Central. 05/03/2013 Git - Conceitos 9
  • 10.
  • 11.
    Vantagens de usaro Git • Tem como objetivo principal velocidade e desempenho • Mais rápido que o SVN segundo (http://git- scm.com/about/small-and-fast) • Usa Arquitetura de Controle de Versão Distribuído e com isso, múltiplos Backups • Qualquer fluxo de trabalho 05/03/2013 Git - Conceitos 11
  • 12.
    Vantagens de usaro Git • Área de Teste (stanging area) : onde commits podem ser revisados antes de transferência. (opcional) 05/03/2013 Git - Conceitos 12
  • 13.
    Referências • http://git-scm.com/ • http://djalmafilho.blogspot.com.br/2009/02/ola- estou-aqui-mais-uma-vez-trazendo-o.html • http://www.pronus.eng.br/artigos_tutoriais/gere ncia_configuracao/conceitos_basicos_controle_v ersao_centralizado_e_distribuido.php • http://www.pronus.eng.br/artigos_tutoriais/gere ncia_configuracao/conceitos_basicos_controle_v ersao_centralizado_e_distribuido.php?pagNum= 2 05/03/2013 Git - Conceitos 13
  • 14.
    Perguntas 1. Qual melhorarquitetura? Centralizada ou Distribuída? 2. Qual a diferença de commit para update 3. Qual diferença entre pull e puch 05/03/2013 Git - Conceitos 14