Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

GitHub Boas Práticas

94 Aufrufe

Veröffentlicht am

Palestra no CapiConf 2018

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

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

×