O que é git e por que você deve usar o controle de versão, se você for um desenvolvedor

Video: Parte 1 - O que é Controle de Versão?

Como desenvolvedores web, uma grande quantidade de tempo que tendem a trabalhar em sites de desenvolvimento local, em seguida, basta carregar tudo quando estamos a fazer. Isso é bom quando é só você e as mudanças são pequenas, mas quando você está lidando com mais de uma pessoa trabalhando em algo, ou em um grande projeto com lotes de componentes complicados, isso simplesmente não é viável. É quando nos voltamos para algo chamado de controle de versão.

Hoje eu vou estar falando de um software de controle de versão de código aberto chamado Git. Isso permite que mais de uma pessoa para trabalhar com segurança no mesmo projeto sem interferir uns com os outros, mas é muito mais do que isso também.

Por que usar Software de controle de versão?

Em primeiro lugar, o nome deve dá-lo afastado. software de controle de versão permite que você tenha “versões” de um projeto, que mostram as alterações que foram feitas no código ao longo do tempo, e permite-lhe recuar se necessário e desfazer essas mudanças. Esta habilidade sozinho - de ser capaz de comparar duas versões ou mudanças reversa, torna bastante valiosa quando se trabalha em projetos maiores.

Você provavelmente ainda feito isso sozinho, em algum momento, salvando cópias de um projeto em diferentes pontos para que você tenha um backup. Em um sistema de controle de versão, apenas as mudanças seriam salvos - um arquivo de patch que poderia ser aplicada a uma versão, a fim de torná-lo o mesmo que a próxima versão. Com um desenvolvedor, isso é suficiente.

Mas e se você tem mais de um desenvolvedor trabalhando em um projeto? Isso é quando a idéia de um servidor de controle de versão centralizado entra. Estes têm sido o padrão por um longo tempo, em que todas as versões são armazenados em um servidor central, e os desenvolvedores individuais checkout e enviar alterações de volta a este servidor. Se você já olhou para o histórico de edições de uma página da Wikipedia, você terá uma boa idéia de como isso funciona em um cenário do mundo real:

software de controle de versão

Os benefícios de um sistema como este é que vários desenvolvedores podem fazer alterações, e cada mudança pode ser atribuída a um desenvolvedor específico. No lado negativo, o fato de que tudo é armazenado em um banco de dados remoto significa nenhuma mudança pode ser feita quando o servidor vai para baixo- e se o banco de dados central é perdido, cada cliente só tem a versão atual do que eles estavam trabalhando.

Isso nos leva para Git, e outros chamados sistemas de controlo de versão distribuída. Nestes sistemas, os clientes não basta verificar a versão atual dos arquivos e trabalhar com eles - eles espelham todo o histórico de versões. Cada desenvolvedor tem sempre uma cópia completa de tudo. Um servidor central ainda é usado, mas se o pior acontecer, então tudo ainda pode ser restaurado a partir de qualquer um dos clientes que têm as versões mais recentes.

Git trabalha especificamente tirando “instantâneos” de Arquivos- se os arquivos permanecem inalteradas em uma versão especial, simplesmente links para os arquivos anteriores - este mantém tudo rápido e magra.

Ele também pode interessar a você saber que Git é usado para gerenciar e desenvolver o núcleo Linux Kernel - o bloco de construção base sobre a qual todas as distribuições Linux são construídos.



controle de versão

O que é Github?

Embora você possa executar o seu próprio servidor Git localmente, Github é tanto um servidor remoto, uma comunidade de desenvolvedores, e uma interface web gráfica para gerenciar seu projeto Git. É livre para usar para até 5 repositórios públicos - ou seja, quando qualquer um pode ver ou desembolsar o seu código - com planos de baixo custo para projetos privados. Eu sugiro fortemente que você vá se inscrever para uma conta gratuita para que você possa começar a brincar com os seus próprios projetos ou bifurcação alguém.

Video: Curso de Git para iniciantes - Aula 1

controle de versão

bifurcação & ramificação

Estes são conceitos fundamentais para a experiência Git, então vamos ter um momento para explicar a diferença.

Você provavelmente já ouviu o trabalho “fork” ao lidar com distribuições Linux. Se você estiver familiarizado com o aplicativo media center Plex, você vai saber que ele era originalmente um fork do código aberto semelhante Xbox Media Center. Isto significa simplesmente que, em algum momento no passado, alguns desenvolvedores tomou o código do XBMC, e decidiu seguir seu próprio caminho com ele- que se tornou Plex.Aeon Nox 3.5: Tema bonito e personalizável para XBMCAeon Nox 3.5: Tema bonito e personalizável para XBMCConfigure o seu centro de mídia exatamente do jeito que você quiser. Aeon Nox 3.5 é a versão mais recente do que talvez seja o melhor tema para XBMC, e é uma rara combinação: beautiful ...consulte Mais informação

Este é, naturalmente, totalmente permitido quando o projeto é de código aberto - você pode pegar o código, fazer o que quiser com ele. Com Git, se você sentir as alterações são bons o suficiente para ser revertidas para o projeto “mestre”, você pode fazer um “pedido de puxar” para o autor, pedindo-lhes para puxar as alterações de volta para seu projeto original. Isso permite que você tem centenas de milhares de desenvolvedores trabalhando em um projeto em qualquer ponto, nenhum dos quais deve neccessarily ser aprovados para acesso código - eles simplesmente copiar o código, fazer alterações e pedido para ser revertidas para o mestre. É claro, é até o proprietário do projeto original, se decidir aceitar as alterações ou não.

Video: Como funciona o controle de versão?

Ramificação é algo feito internamente em um projeto pelos desenvolvedores autorizados. Ele permite que você separe facilmente problemas ou características específicas, e trabalhar com eles sem quebrar os arquivos mestres. Quando estiver satisfeito que o seu ramo tem lidado com o problema, você fundi-lo de volta para o mestre. A qualquer momento, pode haver tantos ramos como você como- que não interfiram uns com os outros. Você também pode mesclar mudanças entre ramos sem tocar o mestre.

Aqui está um grande diagrama de um exemplo de fluxo de trabalho por Vincent Driessen:

Video: Git: Ferramenta para controle de versão de documentos

software de controle de versão

Da próxima vez, vamos olhar para como configurar um exemplo Git trabalhando e fazer alterações de código dentro de ramos. O controle de versão é um tópico enorme. Eu só dada a visão geral breve aqui, mas como um desenvolvedor que é usado apenas para fazer mudanças e desfazendo-los se eles não funcionam, todo o conceito tem soprado minha mente - eu espero que ele faz o seu também.

Você é um desenvolvedor experiente, com experiência em Git? Você está apenas começando e acho que você gostaria de ter uma chance? Som desligado nos comentários!


Artigos relacionados