Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introdução a Sistemas de controle de versão

Introdução a Sistemas de controle de versão

utilizando git como sistema de controle de versão

Leandro Vitor

August 05, 2016
Tweet

More Decks by Leandro Vitor

Other Decks in Technology

Transcript

  1. • Formado em Ciência da Computação • Pós Graduando em

    Engenharia de Software • Trabalho com desenvolvimento desde 2011 • Experiência em Php, Java, Python, Ruby, JavaScript • Transpetro, Petrobras, USP, SINE-AL, Beter Park … • https://github.com/vitoleandro • [email protected] # Sobre
  2. # Introdução Um sistema de controle de versão, na função

    prática da Ciência da Computação e Engenharia de Software, é um software com a finalidade de gerenciar diferentes versões no desenvolvimento de um documento qualquer. Esses sistemas são comumente utilizados no desenvolvimento de software para controlar as diferentes versões, histórico e desenvolvimento dos códigos e também da documentação.
  3. # Vantagens de utilizar As principais vantagens de se utilizar

    um sistema de controle de versão para rastrear as alterações feitas durante o desenvolvimento de software ou desenvolvimento de um documento de texto são: • Controle de histórico; • Trabalho em equipe; • Marcação e resgate de versões antigas; • Ramificação de projeto.
  4. # Controle de histórico Facilidade em desfazer e possibilidade de

    analisar o histórico do desenvolvimento, como também facilidade no resgate de verões mais antigas e estáveis. A maioria das implementações permitem analisar as alterações com detalhes, desde a primeira versão até a ultima.
  5. # Trabalho em equipe Um sistema de controle de verão

    permite que diversas pessoas trabalhem o mesmo conjunto de documentos ao mesmo tempo e minimiza o desgaste provocado por problemas com conflitos de edições. É possível que a implementação também tenha um controle sofisticado de acesso para cada usuário ou grupo de usuários.
  6. # Marcação e resgate de versões estáveis Grande parte dos

    sistemas permite marcar onde o documento estava com uma versão estável, podendo ser facilmente resgatado no futuro.
  7. # Ramificação do projeto É possível a divisão do projeto

    em varias linhas de desenvolvimento, que podem ser trabalhadas paralelamente, sem que uma interfira na outra.
  8. Git

  9. # Introdução Pronunciado como git é um sistema de controle

    de versão distribuído e sistema de gerenciamento de código fonte, com ênfase me velocidade. O git foi inicialmente projetado e desenvolvido por Linus Torvalds para o desenvolvimento do kernel do linux, mas logo foi adotado por muitos outros projetos.
  10. # Introdução Cada diretório git é um repositório com um

    histórico completo e habilidade total de acompanhamento das revisões, não dependente de acesso a uma rede ou a um servidor central.
  11. # História O desenvolvimento do Git surgiu após vários desenvolvedores

    do kernel (núcleo) do Linux decidirem desistir de acessar ao sistema do BitKeeper, que é um software proprietário.[5] O acesso gratuito ao BitKeeper foi removido pelo detentor dos direitos autorais, Larry McVoy, depois de acusar Andrew Tridgell de usar de engenharia reversa nos protocolos do BitKeeper, alegando violação da licença do mesmo. Tridgell demonstrou, em uma apresentação na Linux.Conf.Au, realizada em 2005, que o processo de engenharia reversa utilizado não foi mais do que simplesmente direcionar um telnet para a porta apropriada de um servidor BitKeeper e digitar "help (ajuda)".
  12. # História Torvalds queria um sistema distribuído que ele pudesse

    utilizar de forma similar ao BitKeeper (BK), mas nenhum dos sistemas gratuitos disponíveis atendia suas necessidades, particularmente com relação à performance. Segue abaixo uma parte retirada de um e- mail, de 7 de Abril de 2005, escrito enquanto desenvolvia seu primeiro protótipo
  13. # Introdução GitHub é um Serviço de Web Hosting Compartilhado

    para projetos que usam o controle de versionamento Git. É escrito em Ruby on Rails pelos desenvolvedores da Logical Awesome (Chris Wanstrath, PJ Hyett e Tom Preston - Wernder). O GitHub possui planos comerciais e gratuitos para projetos de código aberto. Este site possui funcionalidades de uma rede social como feeds, followers, wiki e um gráfico que mostra como os desenvolvedores trabalham as versões de seus repositórios.