Git: Como funciona o sistema de controlo de versões?
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.
Este artigo tem mais de um ano
Interessante.
Aguardo pelo exercício.