Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

GitHub Boas Práticas

82 vues

Publié le

Palestra no CapiConf 2018

Publié dans : Technologie
  • Soyez le premier à commenter

GitHub Boas Práticas

  1. 1. Uso e Boas Práticas em Projetos Open Source www.cdsinformatica.com.br
  2. 2. • Mais de 25 anos de experiência no desenvolvimento de software • Responsável por Pesquisa e Desenvolvimento na CDS Informática • Microsoft MVP desde 2008 • Microsoft Regional Director • Um dos criadores do projeto open source CodeCracker: www.github.com/code-cracker • Mantenedor do projeto open source BoletoNet: www.github.com/boletonet • Blog: www.carloscds.net • GitHub: www.github.com/carloscds
  3. 3. www.gotaskfly.com • Serviço de controle de versão de arquivos • Mas não somente isto... • Um dos maiores repositórios de código open source • Gratuito para repositórios públicos, mas permite privados também • Oferece uma dinâmica excelente para trabalho em equipe • Permite versionamento offline e sincronização online • Permite várias versões do projeto simultaneamente
  4. 4. www.gotaskfly.com
  5. 5. www.gotaskfly.com
  6. 6. www.gotaskfly.com
  7. 7. www.gotaskfly.com
  8. 8. www.gotaskfly.com
  9. 9. www.gotaskfly.com • Readonly: • Só vou baixar e usar! • Folgado: • Fica achando que o projeto tem um suporte 24x7 • Às vezes fica bravo porque alguém não resolveu na hora! • Colaborador: • Vai usar e também enviar o que melhorar de volta • Criador: • Cria, compartilha, colabora, ajuda!
  10. 10. www.gotaskfly.com
  11. 11. www.gotaskfly.com Sabe o que eu mais ouço quando alguém quer trabalhar um projeto que está no GitHub ?
  12. 12. www.gotaskfly.com
  13. 13. www.gotaskfly.com
  14. 14. www.gotaskfly.com
  15. 15. www.gotaskfly.com • Fork • Clone • Download
  16. 16. www.gotaskfly.com • [Fork] – copie para sua conta! • Branch • Commit / Push • Pull Request • Review • Deploy • Merge
  17. 17. www.gotaskfly.com • É uma cópia do repositório para sua conta • Se for colaborar no projeto, faça um fork, isto permite que você trabalhe “isolado”, podendo enviar suas alterações através de um Pull Request (PR) • Só não esqueça de atualizar seu repositório, afinal o projeto principal está “andando”! • No seu repositório, você pode fazer qualquer tipo de operação, o que pode não ser possível no principal
  18. 18. www.gotaskfly.com • É um “nome/label” para uma alteração ou funcionalidade • Pode ser utilizado para criar ambientes e também versões • Mas isto dá muito trabalho, vamos fazer direto na master!!! • Jamais trabalhe na branch master!!!
  19. 19. www.gotaskfly.com • Uma das grandes vantagens do Git é o versionamento local • Isto quer dizer que você pode fazer um Clone de um projeto e trabalhar localmente, fazendo e desfazendo diversos commits • Para finalmente enviar um Push e um Pull Request • Lembre-se que todo o histórico de commits será enviado para o repositório principal • Se você quiser limpar um pouco os comentários dos commits poderá usar “squash”. Isto facilita a revisão do PR (https://git-scm.com/book/pt-br/v1/Ferramentas-do-Git-Reescrevendo-o-Hist%C3%B3rico) • Por favor coloque comentário no seu commit, mas um que faça sentido! De preferência vincule com uma #issue
  20. 20. www.gotaskfly.com • Terminei e agora ? • Manda um PR... • E quando dá conflito, o que fazer ? • E quando tudo está certo ?
  21. 21. www.gotaskfly.com • Integra suas alterações na branch • Deu conflito, e agora ? • Em um projeto colaborativo, isto vai ocorrer em algum momento e você precisa ter uma estratégia! • Precisa resolver o conflito, é claro! Mas com muito cuidado, pois pode haver perda de dados!
  22. 22. www.gotaskfly.com • Crie um PR da branch para a master
  23. 23. www.gotaskfly.com • Está com um problema ? Crie uma Issue! • Mas seja objetivo e específico! Ninguém tem “bola de cristal” • Tenha “labels” para identificar as issues • Issues é o que tem para fazer no projeto! • Quer colaborar, comece olhando as issues!
  24. 24. www.gotaskfly.com • Vai publicar uma nova versão ? Crie um release! • O release é um resumo de tudo o que foi feito naquela versão, incluindo artefatos gerados pelo projeto!
  25. 25. www.gotaskfly.com • Criei um projeto e agora tenho muita gente contribuindo! • É hora de mudar para uma organização! • Uma organização pode dar mais credibilidade e confiança ao projeto!
  26. 26. www.gotaskfly.com • Eles orientam quem usa/participa do projeto
  27. 27. www.gotaskfly.com Vamos a prática!
  28. 28. www.gotaskfly.com • Crie um processo de build! • Teste unitário elimina muito trabalho de análise de Pull Request, então faça! • Tenha uma política de deploy / geração de releases! • Explique o que seu projeto faz, tenha um README rico! • Deixe claro sua política de contribuição, isto ajuda quem quer colaborar! • Escolha a licença correta!
  29. 29. www.gotaskfly.com • Github • Git Server • BitBucket • Team Foundation Server / Team Services • GitLab
  30. 30. www.gotaskfly.com • Visual Studio e Visual Studio Code – www.visualstudio.com • GitK – faz parte do pacote Git - https://git-scm.com/downloads • SourceTree - https://www.sourcetreeapp.com/ • GitHub Desktop - https://desktop.github.com/ • E muitas outras: https://git-scm.com/download/gui/windows • E para vários ambientes: https://git-scm.com/download/gui/linux
  31. 31. www.gotaskfly.com • https://www.github.com • https://guides.github.com
  32. 32. Obrigado! Carlos dos Santos CDS Informática Ltda. carlos@cdsinformatica.com.br www.carloscds.net @cdssoftware

×