Palestra dada na primeira semana acadêmica do curso de Tecnologia em Analise e desenvolvimento de sistema do Instituto Federal de Educação, Ciência e Tecnologia Sul-rio-grandense campus Bagé (IFSul-Bagé)
um sistema de controle de versão de arquivos. Através deles podemos desenvolver projetos na qual diversas pessoas podem contribuir simultaneamente, editando e criando novos arquivos e permitindo que os mesmos possam existir sem o risco de suas alterações serem sobrescritas.
projeto de software de código aberto de escopo razoavelmente grande. Durante a maior parte do período de manutenção do kernel do Linux (1991-2002), as mudanças no software eram repassadas como patches e arquivos compactados. Em 2002, o projeto do kernel do Linux começou a usar um sistema DVCS proprietário chamado BitKeeper.
a comunidade que desenvolvia o kernel e a empresa que desenvolvia comercialmente o BitKeeper se desfez, e o status de isento-de-pagamento da ferramenta foi revogado. Isso levou a comunidade de desenvolvedores do Linux (em particular Linus Torvalds, o criador do Linux) a desenvolver sua própria ferramenta baseada nas lições que eles aprenderam ao usar o BitKeeper.
- Suporte robusto a desenvolvimento não linear (milhares de branches paralelos) - Totalmente distribuído - Capaz de lidar eficientemente com grandes projetos como o kernel do Linux (velocidade e volume de dados)
next, next e finish - LINUX - Bom e velho terminal $ sudo apt-get install git - OS X http://sourceforge.net/projects/git-osx-installer/ ou via MacPorts $ sudo port install git-core +svn +doc +bash_completion +gitweb
--global user.name "Rodrigo Freitas" $ git config --global user.email [email protected] Obs: Também é possível fazer outros tipos de configurações tais como: - Seu Editor ( quando o Git precisar que você digite uma mensagem); - Sua Ferramenta de Diff (utilizada para resolver conflitos de merge) - ... Diagrama, vamos entender juntos
de versionamento está em uma palavra simples rastreabilidade, com isso podemos saber o que foi modificado em cada commit, mas para isso precisamos informar de forma correta as coisas. Vamos ver alguns exemplos reais: - que vocês me dizem disso? - e disso? Qual tem a melhor rastreabilidade?
a revisão. (code review) - Escrever uma boa nota de lançamento. (release notes) - Futuros desenvolvedores, ou ajudar a descobrir porque uma mudança foi feita no código ou porque uma funcionalidade foi adicionada
para disseminação de conhecimento em um time de desenvolvimento. Tá amiguinho mas como posso fazer isso? Simples utilizando um processo chamado code review. O code review pode servir pra muitas coisas como: ( Elogios(sim porque não?) por um código bem escrito, melhoria de código, prevenção de bug e transparência entre o time) - Exemplo 1 - Exemplo 2 - Exemplo 3