Git

De Wiki Colaborativa do SISP
Ir para: navegação, pesquisa

O Git é uma ferramenta de controle de versão, assim como Subversion (SVN), Bazaar, Mercurial, entre outros. Essas ferramentas são utilizadas para registrar mudanças realizadas nos artefatos durante o projeto de software (documentos, código, entre outros). É possível também através dessas ferramentas realizar todo o controle das versões desses artefatos podendo até mesmo recuperar as versões anteriores dos arquivos a qualquer momento.

O Git possui suporte a todos os tipos de arquivos (java, php, rb, doc, etc) e possui ênfase em velocidade. Usar um sistema de controle de versão, significa compartilhar as mudanças e contribuições realizadas entre um determinado time ou até mesmo pessoas que não se conhecem e descobrir quem foi a última pessoa a realizar a mudança nos arquivos, além disso, possibilitar a visualização das mudanças para todos os membros do time.

Normalmente a maioria dos controles de versão guardam as mudanças do código como alterações de um determinado arquivo. Ou seja, a cada mudança no arquivo, o sistema guarda essa mudança apenas e não o arquivo inteiro. O Git pensa um pouco diferente: ele trata os dados como snapshots. Cada vez que commitamos (commitar é enviar alterações para o controle de versão) ou salva o estado do projeto no Git, ele basicamente guarda um snapshot de como todos os arquivos estão naquele momento e guarda a referência desse estado. Para os arquivos que não foram modificados, ele não guarda uma nova versão, ele apenas faz um link para a versão anterior idêntica que já foi guardada em outro momento.

A grande vantagem de se utilizar um sistema de controle de versão é que caso você tenha feito alguma alteração não desejado em um arquivo ou no projeto inteiro, pode-se voltar ao passo anterior e recuperar o(s) arquivo(s)/projeto. Além disso, um sistema de controle de versões permite que o time trabalhe simultaneamente no mesmo projeto, sem a necessidade de preocupação caso estejam trabalhando em um mesmo arquivo.

Para maiores informações, ver: http://git-scm.com/book/pt-br/v1/Primeiros-passos-No%C3%A7%C3%B5es-B%C3%A1sicas-de-Git