Por Jonata Weberjonataa@gmail.com+GrupoPráticas de Software
Agenda Controle de Versão O que é? Benefícios Por que utilizar? Modelos Git Noções básicas Três Estados Prática ...
Controle de Versão (VCS) O que é? O controle de versão é um sistema que registra asmudanças feitas em um arquivo ou um c...
Avaliação Rápida Alguém já sobrescreveu o código de outra pessoapor acidente e acabou perdendo as alterações? Tem dificu...
Avaliação Rápida Se alguma das perguntas anteriores teve um SIMcomo resposta, então sua equipe necessitaurgentemente de u...
Como funciona um VCS?
Ferramentas As melhores são Open Source Centralizado Subversion, por exemplo. Distribuído Exemplo: Mercurial e o Git
VCS Centralizado
VCS Distribuído
VCS Distribuído Pull (Puxar) Atualiza o repositório local Push (Empurrar) Atualiza o repositório remoto
VCS Distribuído
Noções Básicas de Git
Snapshots, E Não DiferençasVCS Convencionais
Snapshots, E Não DiferençasGit
Noções Básicas de Git Quase todas as operações são locais Menor latência Histórico do projeto no seu disco local Traba...
Noções Básicas de Git Os Três Estados Modificado (modified) Preparado (staged) Consolidado (committed)
Os Três Estados
Os Três Estados O workflow básico do Git pode ser descrito assim:1. Você modifica arquivos no seu diretório de trabalho.2...
Instalando Git Baixar snapshot mais recente: http://git-scm.com/download Instalando no Linux$ yum install git-core$ apt...
Instalando Git http://msysgit.github.com Cliente SSH e GUI padrão Sua Identidade$ git config --global user.name “Jonata...
Git na Prática Criar um novo repositóriogit init Obter um repositóriogit clone /caminho/para/o/repositóriogit clone usuá...
Exemplo Prático1. Criar e movimentar um repositório local2. Empurrar (Push) para um repositório remoto3. Puxar (Pull) de u...
Github GitHub é um Serviço de Web Hosting Compartilhadopara projetos que usam o controle de versionamentoGit. https://gi...
Referências http://www.pronus.eng.br/artigos_tutoriais/gerencia_configuracao/conceitos_basicos_controle_versao_centraliza...
Obrigado!!
Upcoming SlideShare
Loading in …5
×

Git + Github

803 views

Published on

Apresentação realizada durante a reunião do grupo Práticas de Software na UEFS sobre Git e Github,

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
803
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
43
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Git + Github

  1. 1. Por Jonata Weberjonataa@gmail.com+GrupoPráticas de Software
  2. 2. Agenda Controle de Versão O que é? Benefícios Por que utilizar? Modelos Git Noções básicas Três Estados Prática Github
  3. 3. Controle de Versão (VCS) O que é? O controle de versão é um sistema que registra asmudanças feitas em um arquivo ou um conjunto dearquivos ao longo do tempo de forma que você possarecuperar versões específicas Benefícios Histórico Quem, quando e onde? Colaboração Trabalho paralelo Variações no Projeto
  4. 4. Avaliação Rápida Alguém já sobrescreveu o código de outra pessoapor acidente e acabou perdendo as alterações? Tem dificuldades em saber quais as alteraçõesefetuadas em um software, quando foram feitas equem fez? Tem dificuldade em recuperar o código de umaversão anterior que está em produção? Tem problemas em manter variações do sistema aomesmo tempo?
  5. 5. Avaliação Rápida Se alguma das perguntas anteriores teve um SIMcomo resposta, então sua equipe necessitaurgentemente de um sistema para controle deversão!Controle de versão é fundamental para odesenvolvimento de software
  6. 6. Como funciona um VCS?
  7. 7. Ferramentas As melhores são Open Source Centralizado Subversion, por exemplo. Distribuído Exemplo: Mercurial e o Git
  8. 8. VCS Centralizado
  9. 9. VCS Distribuído
  10. 10. VCS Distribuído Pull (Puxar) Atualiza o repositório local Push (Empurrar) Atualiza o repositório remoto
  11. 11. VCS Distribuído
  12. 12. Noções Básicas de Git
  13. 13. Snapshots, E Não DiferençasVCS Convencionais
  14. 14. Snapshots, E Não DiferençasGit
  15. 15. Noções Básicas de Git Quase todas as operações são locais Menor latência Histórico do projeto no seu disco local Trabalho offline Git tem integridade Checksum (hash SHA-1)24b9da6552252987aa493b52f8696cd6d3b00373 Fazer um commit de um snapshot no Git, é muitodifícil que você o perca
  16. 16. Noções Básicas de Git Os Três Estados Modificado (modified) Preparado (staged) Consolidado (committed)
  17. 17. Os Três Estados
  18. 18. Os Três Estados O workflow básico do Git pode ser descrito assim:1. Você modifica arquivos no seu diretório de trabalho.2. Você seleciona os arquivos, adicionando snapshotsdeles para sua área de preparação.3. Você faz um commit, que leva os arquivos como elesestão na sua área de preparação e os armazenapermanentemente no seu diretório Git.
  19. 19. Instalando Git Baixar snapshot mais recente: http://git-scm.com/download Instalando no Linux$ yum install git-core$ apt-get install git-core Instalando no Mac http://code.google.com/p/git-osx-installer
  20. 20. Instalando Git http://msysgit.github.com Cliente SSH e GUI padrão Sua Identidade$ git config --global user.name “Jonata Weber"$ git config --global user.email jonataa@gmail.com
  21. 21. Git na Prática Criar um novo repositóriogit init Obter um repositóriogit clone /caminho/para/o/repositóriogit clone usuário@servidor:/caminho/para/o/repositório Adicionar e confirmar (staging)git add <arquivo>git add * Commitgit commit -m "comentários das alterações“ Enviar alteraçõesgit push origin master Adicionar um servidor remotogit remote add origin <servidor> Log de commitsgit log
  22. 22. Exemplo Prático1. Criar e movimentar um repositório local2. Empurrar (Push) para um repositório remoto3. Puxar (Pull) de um repositório remoto4. Deploy automático
  23. 23. Github GitHub é um Serviço de Web Hosting Compartilhadopara projetos que usam o controle de versionamentoGit. https://github.com/ É escrito em Ruby on Rails. Planos comerciais e gratuitos para projetos decódigo aberto. Possui algumas funcionalidades Rede social como feeds, followers, wiki e um gráfico quemostra como os desenvolvedores trabalham as versõesde seus repositórios.
  24. 24. Referências http://www.pronus.eng.br/artigos_tutoriais/gerencia_configuracao/conceitos_basicos_controle_versao_centralizado_e_distribuido.php?pagNum=3 http://git-scm.com/book/pt-br/Primeiros-passos-Sobre-Controle-de-Vers%C3%A3o http://rogerdudler.github.io/git-guide/index.pt_BR.html http://www.akitaonrails.com/2010/02/13/deploy-com-git-push https://devcenter.heroku.com/articles/git http://blog.thiagobelem.net/automatizando-a-instalacao-deploy-e-atualizacao-de-sites-com-git/ http://www.contagia.com.br/blog/git-pra-que-serve/ http://marklodato.github.io/visual-git-guide/index-en.html http://www.abstraindo.com/ambiente-de-desenvolvimento/vagrant-de-forma-simples-parte-1/
  25. 25. Obrigado!!

×