A menos que você seja uma loja virtual de uma pessoa sem nenhuma equipe para colaborar, você experimentou a frustração que acompanha o compartilhamento de arquivos. Não importa o quanto você tente, quando várias pessoas estão trabalhando em um único projeto sem um sistema de controle de versão, as coisas ficam caóticas .
Se você trabalha com desenvolvedores no desenvolvimento e na implementação de sites, a mesclagem entre os modelos front-end e a funcionalidade de back-end pode ser um buraco negro assustador.
Questões como sobrescrever, arquivos perdidos e o fenômeno comum de "trabalhar com uma versão anterior" aparecem constantemente . E uma vez que a funcionalidade de back-end foi colocada em seus modelos, você fica aterrorizado ao tocá-los por medo de quebrar algo que um desenvolvedor gastou muito tempo para trabalhar.
Além disso, mesmo se você tiver um repositório comum que todos estejam tirando vantagem, pelo menos um membro de sua equipe esqueceu de pegar os arquivos mais recentes e está prestes a explodir coisas com as últimas adições.
Neste artigo, vou dar uma rápida revisão do Git, um excelente sistema de controle de versão .
Controle de versão (também conhecido como controle de revisão ou gerenciamento de controle de origem ) é uma ótima maneira de resolver o problema de compartilhamento de arquivos.
O conceito básico é o seguinte: existe um repositório principal para todos os arquivos do projeto . Os membros da equipe verificam os arquivos, fazem alterações e os registram novamente (ou os confirmam ). O Sistema de Controle de Versão (VCS - Version Control System) observa automaticamente quem alterou os arquivos, quando eles foram alterados e o que aconteceu com eles foi novo ou diferente.
Ele também pede que você escreva uma pequena nota sobre a mudança para que todos no projeto saibam de relance o que você fez e por quê. Cada arquivo terá então um histórico de revisão para que você possa facilmente voltar a uma versão anterior de qualquer arquivo se algo der errado.
Um bom VCS também permite que você mescle as alterações no mesmo arquivo . Se você e outra pessoa trabalharem localmente no mesmo arquivo ao mesmo tempo, quando você enviar esses arquivos de volta ao repositório principal, o sistema mesclará os dois conjuntos de alterações para criar um arquivo novo e totalmente atualizado. Se surgir algum conflito durante a mesclagem, ele será destacado para você.
Você provavelmente está usando um VCS muito grosseiro agora para manter seus arquivos diretos. Se você é um designer, é algo parecido com isto:
Isso funciona bem o suficiente para PSDs e outros arquivos binários grandes, que realmente não se prestam a VCS. Mas há uma maneira muito melhor de fazer isso quando você está gerenciando o código-fonte de um site.
Mesmo que você não trabalhe com uma equipe, o controle de versão pode ser um salva-vidas . Fazer o backup de arquivos é uma das coisas mais fáceis que você pode fazer para evitar a perda de trabalho ou a reinicialização.
A ideia de um VCS parece assustadora no começo, especialmente porque a maior parte da documentação é escrita por e para desenvolvedores . Mas uma vez que você faça a mudança para incorporá-la ao seu fluxo de trabalho, descobrirá que não é tão difícil quanto parece.
OK, agora você pode ver porque um sistema de controle de versão é um must-have para sua equipe web. Se você fizer uma pequena pesquisa no Google, verá que existem algumas opções, incluindo SVN, Mercurial, CVS, Bazaar e Git. Qualquer um deles pode ser uma boa solução para as suas necessidades, e eu encorajo você a fazer alguma pesquisa antes de selecionar um VCS. Neste artigo vou me concentrar no Git , o que uso diariamente. É uma “estrela em ascensão” que ganhou popularidade graças a uma forte base de fãs do Linux, GitHub e a Trilhos comunidade.
O Git é um Sistema de Controle de Versão de código aberto gratuito originalmente criado por Linus Torvalds para desenvolvimento kernal do Linux. Linus é um cara muito inteligente; quando ele resolve resolver um problema, ele não brinca. Um dos grandes diferenciais do Git é que, ao contrário do SVN e do CVS, é um sistema de controle de versão distribuída . Isso significa que todo usuário tem uma cópia completa dos dados do repositório armazenados localmente em sua máquina. O que há de tão legal nisso? Algumas coisas:
O Git tem uma curva de aprendizado um pouco mais difícil do que o SVN , mas a desvantagem vale a pena. Pense em como seus amigos desenvolvedores ficarão impressionados quando você disser que está usando o novo entusiasmo que é o Git! Com toda a seriedade, não acho que a curva de aprendizado seja tão íngreme. SVN foi igualmente confuso para mim no início, e eu corri para mais problemas do dia-a-dia ao usá-lo.
Instalar o Git não é divertido nem jogos. Tive a sorte de ter um desenvolvedor experiente disposto a ajudar, mas há muitos recursos on-line para ajudá-lo. Ele será executado em uma caixa de PC, Mac ou Linux, embora a instalação para Linux e OSX seja consideravelmente mais fácil do que para o Windows.
Você pode baixar a última versão do Git Aqui Depois de ter os arquivos, tente isso guia rápido para você começar com o processo de instalação. Para usuários do Windows, este passo a passo guia visual deve ser útil. Usuários de Mac, experimente este guia encontrado em GitHub
Uma vez que você tenha o Git instalado, você pode criar seu repositório . Para transformar uma pasta existente em um repositório Git, use os seguintes comandos na janela Terminal ou Prompt de Comando:
cd path/to/projectgit initgit add .git commit
O que você está dizendo para o Git fazer é:
Se você odeia a linha de comando, você também pode fazer isso usando a GUI do Git . Não é a coisa mais bonita que você já viu, mas está lá se você precisar.
Atualmente, estou usando o Git em um Mac para trabalhar em um aplicativo da Web com vários desenvolvedores da web. Temos uma versão "mestre" do código para o qual enviamos nossos arquivos, e cada um executa uma cópia completa localmente. Em qualquer dia, o meu fluxo de trabalho é mais ou menos assim:
Todas essas ações podem ser feitas facilmente através da janela do Terminal , mas eu sou uma garota visual. Por esse motivo, eu uso GitX , um git gui para o OSX , para fazer meus commits. Eu ainda empurro e puxo através do Terminal, mas o GitX torna mais fácil para mim organizar meus commits e envolver minha mente em torno do que estou fazendo.
No topo, destaca a mudança feita nos arquivos. No canto inferior esquerdo está sua lista de Mudanças não organizadas . Para confirmá-los, você arrasta um ou mais arquivos para a área “Staged Changes” à direita, digita sua mensagem de commit e clica no botão Commit.
Se eu virar para a visualização em árvore, posso ver o que foi enviado para o repositório. Se meus arquivos não estivessem atualizados com os arquivos mestres, as tags verde e azul na parte superior ficariam fora de sincronia. GitNub oferece uma interface similar ao estilo Mac.
Há também um ótimo Pacote TextMate acessível. Com ele, você pode enviar, puxar, confirmar e muito mais sem sair do TextMate. É extremamente eficiente.
Acima: Cheat Sheet de Zack Rusin
Eu ainda sou um novato para mim mesmo, então eu apenas arranhei a superfície do que você pode fazer com isso, mas eu definitivamente vi a luz quando se trata de controle de versão, e estou feliz por finalmente ter conseguido bandwagon.
Para aprender mais sobre como usar o Git, confira estes ótimos recursos:
Conhecendo Git
Entrada da Wikipedia no Git
Por que o Git é melhor que o X
TED fala de Linus Torvald no Git
Uma turnê do Git: The Basics
Git Ready
37 Sinais Git Recursos
Git para o preguiçoso
O Manual do Usuário do Git
Um bando de dicas Git
Cheat Sheet do GitHub
Git Magic
Controle de versão para designers
Um guia visual para controle de versão
Entrada da Wikipedia no Controle de Revisão
Escolhendo um sistema de controle de versão distribuído
Eu quero saber o que este botão faz (uma lista à parte)
Escrito exclusivamente para WDD por Mindy Wagner. Ela é uma web designer na Viget Labs e trabalha com impressão e web design há mais de 8 anos. Ela é formada em Arte e Comunicação em Mídia Eletrônica pelo Rensselaer Polytechnic Institute.
Você usa o Git ou outro software para controle de versão? Por favor compartilhe sua experiência conosco!