Slide 1

Slide 1 text

Controle de Versões com GIT Gustavo Pantuza: http://pantuza.com II Semana da Computação - Instituto Federal Sudeste de Minas 29.11.2012

Slide 2

Slide 2 text

Agenda ● Introdução ● Arquitetura e Funcionamento ● Fluxo de Trabalho ● Git Distribuído ● Git Hub ● Considerações Finais ● Referências ● Perguntas

Slide 3

Slide 3 text

Introdução

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

Arquitetura e Funcionamento ● Grafo direcionado acíclico

Slide 6

Slide 6 text

Arquitetura e Funcionamento ● Fluxo de operações no repositório local

Slide 7

Slide 7 text

Arquitetura e Funcionamento ● Transição de estados de um arquivo

Slide 8

Slide 8 text

Arquitetura e Funcionamento ● Troca de contexto sem atrito (branches) ● Fluxo de trabalho baseado em funcionalidades ● Experimentação descartável

Slide 9

Slide 9 text

Arquitetura e Funcionamento ● Referência de commits entre branches

Slide 10

Slide 10 text

Arquitetura e Funcionamento ● Hierarquia de commits

Slide 11

Slide 11 text

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)

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

Git Distribuído ● Repositório Compartilhado

Slide 14

Slide 14 text

Git Distribuído ● Repositório Descentralizado

Slide 15

Slide 15 text

Git Hub

Slide 16

Slide 16 text

Git Hub

Slide 17

Slide 17 text

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)

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

Perguntas http://github.com/pantuza http://twitter. com/gpantuza [email protected]

Slide 21

Slide 21 text

Perguntas http://github.com/pantuza http://twitter.com/gpantuza [email protected] Obrigado : )