Controlo de Versões Distribuído com Git

1.767 visualizações

Publicada em

O Git é um sistema de controlo de versões distribuído altamente performante, extensível e potente, que está a ser adoptado cada vez mais por developers de diferentes plataformas incluindo .NET.
Nesta apresentação o Caio irá mostrar os primeiros passos com o Git, como trabalhar em equipa sem pisar os pés uns dos outros e permitindo uma gestão mais fácil dos artefactos de um projecto, incluindo código, documentação e binários.
Irá partilhar as suas experiências de uso do Git no dia-a-dia em equipa, as reacções e as melhorias que Git trouxe, e quais as convenções e fluxos de trabalho que utiliza.

Publicada em: Tecnologia
1 comentário
4 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
1.767
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
34
Comentários
1
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Controlo de Versões Distribuído com Git

  1. 1. 17ª Reunião Presencial - 22/01/2011 http://netponto.org Controlo de Versão Distribuído com Git Caio Proiete
  2. 2. Patrocinadores desta reunião
  3. 3. Caio ProieteConsultor Independente / Freelancer –> http://caioproiete.netFormador @ CICLO –> http://ciclo.ptMicrosoft MVP, MCT, MC*.net
  4. 4. Agenda• Introdução• Como usar / comandos básicos• Desenvolvimento em paralelo• Partilha de repositórios em equipa• Workflows mais comuns
  5. 5. Também disponível em vídeo... Assista!http://www.youtube.com/watch?v=aAIryX2gVTY
  6. 6. Git: O que é isto?• Sistema de Controlo de Versões – Desenvolvimento distribuído – Óptimo para desenvolvimento não-linear – Funciona fora do Visual Studio (!) – Rápido. Muito rápido! – Gratuito e Open Source – – Funciona fora do Visual Studio (!)
  7. 7. Git: O que é isto? (cont.)• Começou a ser desenvolvido em Abril de 2005 pelo Linus Torvalds. É utilizado para manter o kernel do Linux há 5 anos• Actualmente mantido pelo Junio Hamano com outros 280+ developers
  8. 8. Git: I can haz download? http://git-scm.com
  9. 9. Git != GitHub http://git-scm.comSite oficial, documentação, download, etc... http://github.comServiço que permite alojar repositórios via Internet
  10. 10. Desenvolvimento Distríbuido...
  11. 11. Desenvolvimento Centralizado
  12. 12. Desenvolvimento Distribuído
  13. 13. Vantagem?• Pode fazer TUDO sem precisar do servidor! – Consultar toda a história do projecto desde o primeiro commit; – Obter versões mais antigas do projecto; – E o mais importante: Efectuar commits!!
  14. 14. Escrever a história de forma linear
  15. 15. Git for Windows: msysgit
  16. 16. Git for Windows: msysgit
  17. 17. Comandos básicos do Git• git init – Criar um novo repositório do git• git status – Mostrar o que mudou desde o último commit• git add – Escolher o que fará parte do próximo commit• git commit – Gravar um novo commit
  18. 18. Comandos básicos do Git (cont.)• git log / gitk [2] – Consultar os commits (história)• git reset – Mover o apontador “HEAD”• git config – Configurar opções globais ou do repositório [2] Não é exactamente um comando, mas uma aplicação
  19. 19. Comandos básicos do Git
  20. 20. Comandos básicos do Git (cont.)
  21. 21. Ficheiro .gitignore#Ignore thumbnails created by WindowsThumbs.db#Ignore files created by Visual Studio*.suo*.user[Oo]bj[Bb]in[Dd]ebug*/[Rr]elease*/_ReSharper*/
  22. 22. Desenvolvimento em paralelo• git branch – Listar/Criar/Apagar branches• git checkout – Saltar entre branches (e não só)• git merge – Efectuar merge de branches• git mergetool – Ferramenta de merge (resolver conflitos)
  23. 23. Desenvolvimento em paralelo
  24. 24. Partilha de repositórios em equipa• git clone – Obter uma cópia de um repositório remoto• git pull – Receber actualizações de um repositório• git push – Enviar actualizações para um repositório
  25. 25. Partilha de repositórios em equipa
  26. 26. Workflows mais comuns
  27. 27. Subversion-Style
  28. 28. Descentralized but centralized
  29. 29. Integration Manager
  30. 30. Dictator and Lieutenants
  31. 31. Questões?
  32. 32. ReferênciasGit Scm - Site oficial do Git – http://git-scm.comPosts sobre Git em meu blog – http://caioproiete.net/pt/tag/git/Pro Git (e-book) – http://progit.orgGit Ready (tutorial / tips) – http://www.gitready.comGit Magic (e-book) – http://www-cs-students.stanford.edu/~blynn/gitmagic
  33. 33. ReferênciasGit for Beginners – http://stackoverflow.com/questions/315911/git-for-beginners-the-definitive- practical-guideWhy Git is Better than X – http://whygitisbetterthanx.comGit Is Your Friend not a Foe – http://hades.name/blog/2010/01/17/git-your-friend-not-foeA successful Git branching model – http://nvie.com/posts/a-successful-git-branching-modelUse Git For What It Is Not Intended (UGFWIINI) – http://thread.gmane.org/gmane.comp.version-control.git/110411
  34. 34. Patrocinadores desta reunião
  35. 35. Obrigado! Caio Proiete caio@netponto.org http://caioproiete.net http://twitter.com/caioproiete

×