Git: O popular sistema de controlo de versões de software
Quem desenvolve software tem a noção que normalmente nenhuma aplicação está totalmente acabada. Há bugs que são detetados, algoritmos que são melhorados, interfaces a serem modificadas… enfim, um conjunto de situações às quais os programadores tem de dar respostas. Para controlo de versões de software, nada melhor que o popular Git.
Git: quem programa, normalmente precisa
O Git é um sistema gratuito, open source, rápido e distribuído para controlo de versões de software. Este sistema foi inicialmente desenvolvido por Linus Torvalds que assim disponha de um mecanismo automático para disponibilizar o código referente ao desenvolvimento do Kernel Linux.
Além do Kernel Linux, existem atualmente muitos projetos mundiais que usam este sistema de controlo de versões, dos quais destacamos o projeto Perl, Eclipse, Gnome, KDE, QT, Rubby on Rails, Android, PostgreSQl, DEbian, X.org, entre outros.
Cada diretório de trabalho do Git funciona como um repositório de informação, que regista todas as alterações e versões de um determinado software. O Git funciona no Windows, MAcOS e Linux.
Uma diferença importante entre o Git e outros sistemas de controlo de versões é que o Git armazena dados como "snapshots" em vez de diferenças (o delta entre o ficheiro atual e a versão anterior).
Se o ficheiro não sofrer alterações, o Git usará um link de referência para o último snapshot no sistema em vez de tirar um novo e idêntico snapshot. O Git organiza-se por 3s – três estágios e três estados.
Os três estágios são:
- Repositório (o diretório .git)
- Diretório de trabalho
- Área de preparação (Staging area)
Os três estados são:
- Committed
- Modified
- Staged
O Git pode funcionar também com dois tipos de repositório: local ou remoto. Um repositório local é armazenado no sistema de ficheiros da máquina cliente, que é a mesma na qual os comandos vão ser executados. Um repositório remoto é armazenado numa máquina remota, geralmente um servidor ou serviço de alojamento do repositório. É possível colocar o repositório remoto para uma máquina local.
Branching é um processo que permite que os utilizadores trabalhem no código de forma independente, sem afetar o código principal no repositório. Quando um repositório é criado, o código é automaticamente colocado num branch denominado Master.
Git e GitHub não são a mesma coisa! Git é uma implementação do sistema de controlo de versões distribuído e disponibiliza uma interface de linha de comandos. Por usa vez, o GitHub é um serviço fornecido pela Microsoft que implementa um serviço de alojamento de repositórios Git. Através desta plataforma colaborativa é fácil partilhar e gerir o código-fonte dos projetos que desenvolvemos. Além disso, como o código é partilhado, pode ser facilmente melhorado por outros membros.
Andava há algum tempo para ver isto do git ..
Obrigado