Por que eu devo ler este artigo:A nova versão do Delphi, a XE7, trouxe consigo uma série de novidades relacionadas aos mais diversos aspectos pertinentes ao desenvolvimento de software.

Dentre essas está a integração nativa do IDE com o Git, que pode ser brevemente pontuado como sendo uma alternativa eficiente ao já popular Subversion, no que diz respeito ao versionamento de código.

Em vista disso, o presente artigo busca esclarecer ao leitor, de forma ágil, o que vem a ser este novo sistema de controle de versão, explicitando suas características essenciais, incluindo todo seu aspecto prático de utilização no IDE.

De forma objetiva, este é o ponto de partida para a plena introdução do Git no cotidiano de trabalho de todo desenvolvedor Delphi da atualidade.

A recente adição do sistema de controle de versão Git ao âmbito do Delphi acaba por agregar uma série de novas possibilidades ao próprio processo de desenvolvimento.

A principal delas, sem sombra de dúvidas, se reflete numa forma mais controlada de trabalho em equipe, onde vários desenvolvedores estão inseridos, todos trabalhando de forma conjunta num mesmo projeto ou em atividades correlatas.

Isso, em razão de suas próprias características, que provê, entre outras coisas, um ideal versionamento de código, o que acaba por manter um efetivo histórico de alterações a cada conteúdo, bem como uma prática solução para conflitos ocasionais (Ex. quando duas pessoas distintas alteram o conteúdo relacionado a um mesmo arquivo).

Toda sua ação pode ainda ser superficialmente comparada ao Subversion (BOX 1), outro sistema de controle de versão bastante popular, cuja integração com o IDE já se encontra bastante estável uma vez que foi provida tempos atrás.

BOX 1. Subversion

Subversion é um sistema de controle de versão de código aberto (open source) distribuído de forma gratuita pela Apache, sob a tutela da Apache License. No popular, é comumente tratado como SVN e sua utilização é direcionada à manutenção de versões e históricos de arquivos, tais como os de código-fonte, de texto simples, documentos Web e outros tipos diversos.

Num cenário recente, este sistema de controle de versão ganhou bastante notoriedade principalmente a partir de sua intensa adoção por parte da comunidade de software livre, o que inclui projetos já tradicionais como Mono, Free Pascal e FreeBSD.

Ainda sobre o Git, tendo em vista toda a extensão e complexidade natural do assunto, o presente artigo volta seu foco exclusivamente à integração do referido sistema de controle de versão com o IDE do Delphi XE7. Isso significa dizer que, neste primeiro momento, somente os pontos tidos como essenciais serão abordados, tornando o aprendizado mais facilitado e empolgante ao desenvolvedor. Obviamente, a partir disso, o mesmo estará preparado para o passo seguinte, envolvendo aspectos mais complexos da conjuntura, os quais eventualmente serão abordados em artigos subsequentes. Por fim, toda a essência citada acaba por envolver então desde a definição conceitual do Git até seu efetivo uso por meio do IDE, em um contexto totalmente local (não remoto).

O que é um sistema de controle de versão e qual sua necessidade

Em vista do pleno entendimento e posterior utilização do Git, alguns conceitos iniciais devem ser assimilados pelos desenvolvedores. Dentre estes, o primeiro deles diz respeito à definição concreta do que vem a ser um sistema de controle de versão, que é o conceito ao qual o Git se enquadra.

Sendo assim, de forma ampla, um version control system nada mais é do que um sistema capaz de persistir e manter as alterações (uma ou várias) realizadas em um determinado período de tempo sobre um único arquivo ou um conjunto deles.

De posse dessas informações, esse tipo de sistema torna possível então a volta a momentos temporais específicos da vida do arquivo, que caracterizam então uma “versão” do mesmo.

Tendo em vista essa definição, especificamente no desenvolvimento de software, um sistema de controle de versão pode ser entendido como o elemento central que irá monitorar os arquivos do projeto com relação a todo e qualquer tipo de mudança que venha a ocorrer sobre seu conteúdo.

Já no lado prático, uma vez instalado, o sistema faz uso de um diretório local, comumente o mesmo lugar onde estão localizados os arquivos do projeto, para a gerência inicial de todo o histórico de alterações dos mesmos.

Além da definição conceitual, outro ponto relevante a ser compreendido com relação a um sistema de controle de versão diz respeito a sua necessidade de uso. Em outras palavras, a busca por uma resposta ideal para o seguinte questionamento: por que devo ou preciso utilizar um sistema de controle de versão? Para isto, alguns argumentos pontuais podem ser rapidamente utilizados:

· Automação de backups: um sistema de controle de versão é capaz por si só de automatizar toda a criação de “cópias de segurança” (backups) de arquivos. Logo, seu uso acaba por substituir qualquer processo manual semelhante, incluindo o já tradicional “copiar e colar – Ctrl+C/Ctrl+V” de diretórios de arquivos, onde cada cópia acaba por elucidar uma versão diferente dos mesmos (Ex. ArquivosDoProjeto, ArquivosDoProjeto-Old, ArquivosDoProjeto-Backup2011);

· Rastreabilidade de mudanças: um sistema de controle de versão acaba por dispor de forma direta uma rastreabilidade completa pelas mudanças ocorridas ao longo do tempo no conteúdo dos arquivos versionados. Num ambiente corporativo, isso vem a colaborar em questões envolvendo responsabilidades pessoais;

· Unicidade de nomenclatura: você poderá manter várias “versões” ...

Quer ler esse conteúdo completo? Tenha acesso completo