Controle de Versões com GIT

Controle de Versões com GIT

Fundamentos sobre a ferramenta de controle de versões distribuída GIT

B1412c9ed55333c1df561f64dfad69d3?s=128

Gustavo Pantuza

November 29, 2012
Tweet

Transcript

  1. Controle de Versões com GIT Gustavo Pantuza: http://pantuza.com II Semana

    da Computação - Instituto Federal Sudeste de Minas 29.11.2012
  2. Agenda • Introdução • Arquitetura e Funcionamento • Fluxo de

    Trabalho • Git Distribuído • Git Hub • Considerações Finais • Referências • Perguntas
  3. Introdução

  4. Introdução • Sistema distribuído de controle de versões • Criado

    pela comunidade do Kernel do GNU/Linux • Completamente Aberto - código fonte • Escrito em C • Multiplataforma (windows, mac e GNU/Linux) • Vasta Documentação • Fácil utilização • Comunidade Forte
  5. Arquitetura e Funcionamento • Grafo direcionado acíclico

  6. Arquitetura e Funcionamento • Fluxo de operações no repositório local

  7. Arquitetura e Funcionamento • Transição de estados de um arquivo

  8. Arquitetura e Funcionamento • Troca de contexto sem atrito (branches)

    • Fluxo de trabalho baseado em funcionalidades • Experimentação descartável
  9. Arquitetura e Funcionamento • Referência de commits entre branches

  10. Arquitetura e Funcionamento • Hierarquia de commits

  11. Fluxo de Trabalho • Voltar para uma revisão antiga (checkout,

    reset) • Esconder modificações (git stash) • Remover arquivos (git rm --cached) • Analisar histórico/log (git log --graph) • Fundir branches (git merge) • Resolvendo conflitos • Personalizando o git (git config e bash completion)
  12. Git Distribuído • Conceito de Sistemas Distribuídos: "Um sistema distribuído

    é aquele no qual os componentes localizados em computadores interligados em rede se comunicam e coordenam suas ações apenas passando mensagens." (COULORIS, 2007, p.15) • COULORIS, GEORGE; DOLLIMORE, JEAN; KINDBERG TIM; Sistemas Distribuídos Conceitos e Projeto; tradução João Tortello. 4 ed. Porto Alegre. Bookman 2007. 792 p. ISBN: 978-85-60031-49-8
  13. Git Distribuído • Repositório Compartilhado

  14. Git Distribuído • Repositório Descentralizado

  15. Git Hub

  16. Git Hub

  17. Git Hub • Rede Social de projetos (públicos e privados)

    • Controle de contribuidores (forks) • Ferramenta de busca de código • Análise gráfica dos repositórios • Criação de issues (erros, falhas e melhorias) • Notificação de pull requests (contribuições)
  18. Considerações Finais • Facilite seu trabalho com git • git

    é fácil de aprender • Envolva-se com software livre • Crie um perfil no Git Hub e disponibilize projetos • Contribua para uma sociedade de conhecimento livre • Agrupe-se e crie projetos/produtos • Compartilhe conhecimento
  19. Referências • The Architecture of Open Source Applications - GIT

    • Git - Documentation • Git for Computer Scientists • Git From The Bottom Up • Pro Git • Git Cheat Sheet
  20. Perguntas http://github.com/pantuza http://twitter. com/gpantuza gustavopantuza@gmail.com

  21. Perguntas http://github.com/pantuza http://twitter.com/gpantuza gustavopantuza@gmail.com Obrigado : )