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.