PDC - Engenharia - Git e Gitorious

575 views
485 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
575
On SlideShare
0
From Embeds
0
Number of Embeds
164
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

PDC - Engenharia - Git e Gitorious

  1. 1. Git e Gitorious
  2. 2. Agenda ☑Git ☑Gitorious
  3. 3. Git “O sistema de controle de versão mais inteligente do que você.” – Linus Torvalds
  4. 4. Há muito tempo atrás, numa galáxia muito distante... ☑GIT foi criado em 2005 por Linus Torvalds para ser o novo sistema de controle de versão do Kernel Linux. ☑Pilares do projeto: ☑Ser rápido ☑Distribuído ☑“Ser o mais diferente possível do CVS, o que por si só já é excelente.” – Linus Torvalds
  5. 5. GIT ☑ Open-Source ☑ Todo o código-fonte do GIT é open-source, ou seja, até a Microsoft pode usar. ☑ Distribuído ☑ Não existe um repositório central obrigatório. Todo repositório GIT é um repositório completo e funcional. ☑ Orientado a Branches ☑ O GIT incentiva o uso extensivo de branches para auxiliar no processo de construção do projeto. Branches são leves e fáceis de serem “mergidas” entre si. ☑ Garantia dos dados ☑ GIT usa SHA-1 para assinar o conteúdo dos arquivos de cada commit. Com isso, há a possibilidade da integridade dos dados ser conferida pelos membros da equipe.
  6. 6. Warm-Up ☑ Remote ☑ Um caminho para um repositório hospedado em outro computador. ☑ Commit ☑ Um Commit é uma modificação feita no conteúdo do projeto que é salva no histórico. ☑ Branch ☑ Uma ramificação na linha de desenvolvimento do projeto. ☑ Cloning ☑ Copiar um repositório local ou remoto, juntamente com todo seu histórico. ☑ Tags ☑ Nome dado a alguma modificação ou release do projeto. ☑ Merging ☑ Ato de combinar dois branches em um só. ☑ Checkout ☑ Mudar de branch.
  7. 7. Usando Branches a seu favor
  8. 8. GIT ☑ Na branch Master, temos a versão estável do código. ☑ Na branch Develop, temos a versão do código que é usada para desenvolvimento. ☑ Para cada modificação necessária ao código, criamos uma branch Topic a partir de Develop e fazemos nela o trabalho necessário. Após o trabalho ter sido concluído, fazemos um merge de Topic com Develop. ☑ Após todas as modificações terem sido feitas e o código novo estiver estável, fazemos um merge entre Develop e Master.
  9. 9. GIT Branches são leves, não tenha medo de usá-las!Elas auxiliam no controle e gerenciamento do projeto e deixam o histórico mais organizado.
  10. 10. Comandos Principais ☑ Git init ☑ Git branch <nome da branch> ☑ Git checkout <nome da branch> ☑ Git clone <caminho do repositório> ☑ Git commit –m <mensagem do commit> ☑ Git remote ☑ Add <nome do remote> <caminho do repositorio remoto> ☑ Rm <nome do remote> <caminho do repositorio remoto> ☑ Git push <repositório remoto> <branch remoto> ☑ Git pull ☑ Git add <arquivos>
  11. 11. Outros Comandos ☑Git diff <nome do arquivo> <nome do arquivo> ☑Git config <options> ☑Git rebase <nome da branch> <nome da branch> ☑Git tag <nome da tag> ☑Git fetch ☑Git status
  12. 12. Agenda ☑Git on the server ☑Pra que tantos protocolos? ☑História ☑Pontos fortes ☑Projetos ☑Trabalhando com o Gitorious ☑Tópicos especiais
  13. 13. Git on the Server ☑E se um colaborador estiver offline? ☑Possuir um repositório em comum para os colaboradores é útil. Servidor Git Que também merece alguns protocolos de comunicação.
  14. 14. Pra que tantos protocolos? ☑Protocolo local ☑SSH ☑Protocolo Git ☑Protocolo HTTP/S What!?
  15. 15. Protocolo local ☑ Caso comum onde todos tem acesso a um repositório remoto via algum diretório compartilhado(exemplo: NFS) ☑ $ git clone /opt/git/project.git ☑ $ git clone file:///opt/git/project.git ☑ Prós: ☑ Simplesmente simples ter e acessar diretório compartilhado! ☑ Contras: ☑ Confusões nas permissões de arquivos e montagem de disco remoto pé no saco.
  16. 16. Secure Shell(SSH) ☑ Facilmente usado em servidores para leitura e escrita com autenticação. ☑ $ git clone ssh://user@server:project.git ☑ $ git clone user@server:project.git ☑ Prós: ☑ Escrita autenticada, transferência de dados criptografados e autenticados, e eficiente(dados compactados antes da transferência. ☑ Contras: ☑ Sem acesso anônimo, ruim para projetos open-Source.
  17. 17. Protocolo GIT ☑Fornece um serviço similar ao SSH, porém sem autenticação. ☑A única segurança é o arquivo git-export-daemon-ok. ☑Git://host.com.br/projeto/repositorio.git ☑Prós: ☑O mais rápido entre os 4 protocolos. ☑Contras: ☑Qualquer um acessa.
  18. 18. HTTP/S ☑Um dos mais difundidos e é fácil de ser usado, tanto para leitura(HTTP/HTTPS) quanto para escrita(HTTPS). ☑git clone http://example.com/gitproject.git ☑Prós: ☑Protocolo muito usado e dificilmente barrado por firewalls. ☑Contras: ☑Lento, sobrecarga de rede.
  19. 19. Gitorious servidor git web ☑Gitorious é uma estrutura web open source para o gerenciamento de repositorios com foco no gerenciamento de projetos. O Git já não vem com algo assim?
  20. 20. Git web ☑O git possui por default um script chamado GitWeb.
  21. 21. História do Gitorious ☑O desenvolvimento iniciado em 2007 por Johan Sorensen com o objetivo de facilmente armazenar seus próprios repositórios. Com o tempo…
  22. 22. …ficou bem melhor que Git Web…
  23. 23. Pontos Fortes ☑Gestão de projetos por equipes. ☑Monitoramento de atividades. ☑Acompanhamento de projetos. ☑Linha de tempo. ☑Wikis dos projetos.
  24. 24. Projetos no gitorious ☑ Vários repositórios por projeto. ☑ Merge requests. ☑ Alocação de equipes: ☑ Pode se alocar equipes inteiras com um mesmo privilégio de acesso.
  25. 25. E os protocolos como ficam? ☑O Gitorious cuida do gerenciamento destes pra você. ☑Preocupe-se mais com outras características do projeto.
  26. 26. Paginas wiki ☑Páginas de descrição do projeto que acompanham também com gerenciamento das mudanças.
  27. 27. Git merging git merge <branch> ☑Resolvendo os conflitos. ☑ o novo commit é interrompido caso haja conflitos. ☑ git status (quando ver os unmerged edite os) ☑ git otimiza o melhor branch ancestral para realizar o merge.
  28. 28. Git merging ☑git mergetool pode ser muito util para editar os conflitos usando uma ferramenta de diff instalada no seu pc.
  29. 29. Curiosidades ☑Você pode querer revisar certos commits porém digitar aquele SHA-1 é meio chato... ☑ Git aceita abreviação, em vez de … 734713bc047d87bf7eac9674765ae793478c50d3 ☑ Digite apenas: 734713… ☑Git show 734713 ☑Pra mostrar versões pais de um commit: ☑ git HEAD^3(e ^ sozinho é o pai)
  30. 30. Dúvidas
  31. 31. Fale Conosco Teltools Tecnologia Av. Cesário Alvim, 3521 Bairro Brasil – CEP38400-696 Uberlândia – MG (34) 3222-9571 http://www.teltools.com.br falecom@teltools.com.br Gerson Scanapieco gerson@teltools.com.br Samuel Henrique samuel.henrique@teltools.com.br
  32. 32. Av. Cesário Alvim, 3521 Bairro Brasil – CEP38400-696 Uberlândia – MG (34) 3222-9571 http://www.teltools.com.br falecom@teltools.com.br

×