Git: Como funciona o sistema de controlo de versões?

7 meses atrás 73

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. Mas como funciona?

Git: O mais popular sistema de controlo de versões

Recentemente apresentamos o Git aqui. Como referido, 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 ficheiro.

 O Git organiza-se por 3s – três estágios e três estados.

Os três estágios são:

Diretório de trabalho (working Directory)​ Diretório de trabalho / Diretório do projeto Área de estágio (Staging area) Antes de confirmar as alterações num repositório Git,  deve-se adicionar os ficheiros à área de staging (área de preparação/estágio). Tendo os ficheiros nesta área, é possível escolher quais alterações a incluir no próximo commit. Repositório (o diretório .git)​ Um repositório Git é como um diretório que contém todos os ficheiros do projeto, juntamente com metadados do Git que registam o histórico de alterações.

Os três estados são:

Committed​ Modified​ Staged

Na prática, o utilizador começa por ter um diretório de trabalho e de seguida coloca os ficheiros que pretende alterar (e controlar nas modificações) na área de estágio, fazendo um git add. Feitas as alterações, pode passar os ficheiros para o repositório fazendo um git commit.

Se quiser enviar para um repositório remoto, como por exemplo o github, deve usar o comando git push. Para obter o projeto do repositório remoto (ou alterações de um projeto) para o diretório local, use o git pull.

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.

No git podemos ainda criar um branch. 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 que é denominado master.​

Resumo dos principais comandos do Git

git init: Inicializa um novo repositório Git no diretório atual. git clone: Copia um repositório Git existente de um servidor remoto para sua máquina local. git add: Adiciona as alterações feitas na área de trabalho à área de preparação. git commit: Regista as alterações na área de preparação no repositório Git. É possível juntar uma mensagem descritiva. git push: Envia o projeto do repositório local para um repositório remoto. git pull: Obtém o repositório remoto e coloca informação no repositório local. git branch: Lista, cria ou exclui branches dentro de um repositório. git merge: Combina as alterações de diferentes branches. git checkout: Alterna entre branches. git status: Exibe o status atual do repositório, incluindo as alterações pendentes.

Num próximo artigo vamos fazer um pequeno exercício sobre este conteúdo. Estejam tentos.

Ler artigo completo