Fluxo do GIT

Olá Mundo!

Neste tutorial veremos como funciona o Git, um poderoso Gerenciador de Configuração de Software!

GIT – UM SCM LIVRE

Git é uma ferramenta livre e de código fonte aberto que auxilia na gestão de configuração do software (SCM – Software Configuration Management). Isto significa que ela irá atuar no controle de versão do seu projeto seja ele um projeto simples ou complexo.

O Git funciona de forma diferente de outros softwares de controle de versão (VCS). Ao invés de armazenar arquivos inteiros com as modificações em cada um, ele salva apenas referências (snapshot) para as mudanças do arquivo principal.

Ao persistir uma mudança (commit) o Git armazena um objeto contendo um indicador para o snapshot do conteúdo armazenado. Além de nome e email do autor do commit, ele armazena também a mensagem e as referências para o commit ou commits anteriores.

Objeto commit e árvore de arquivos – Fonte: https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell
Objeto commit e árvore de arquivos – Fonte: https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell

 

No exemplo acima temos uma objeto commit, que possui o indicador que aponta para a árvore 92ec2, as informações do autor do commit e a mensagem. A árvore 92ec2 possui indicadores que apontam para três arquivos do tipo blob. Estes arquivos são as modificações do working directory que foram indexadas.

Se for realizado um novo commit, é armazenada no objeto uma referência ao commit anterior, conforme ilustrado abaixo:

Commits em sequência – Fonte: https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell
Commits em sequência – Fonte: https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell

Na imagem foram realizados dois novos commits, o 34ac2 e o f30ab. O commit f30ab aponta para o 34ac2 e este aponta para o primeiro commit 98ca9.

Este processo de armazenar snapshots dos commits permite ao Git trabalhar de forma extremamente rápida e eficiente, sem ocupar muito o espaço em disco. Se for necessário voltar uma versão, o Git é capaz de fazer isso de forma quase instantânea, e o melhor, não necessita de acesso constante ao servidor, pois a mudanças são armazenadas localmente.

O FLUXO BÁSICO DO GIT

Em resumo o processo básico do Git segue a seguinte estrutura:

Fluxo do status do Git
Fluxo do status do Git

Working Directory: neste estágio seu arquivo está com alterações – MODIFIED -, porém o git ainda não adicionou à fila de persistência (commit).

Staging Area: aqui o arquivo modificado está sendo rastreado – STAGED -, porém ainda não foi persistido.

.git directory (Repository): o estágio final representa que o arquivo foi persistido – COMMITTED -, e suas mudanças salvas no repositório local do git.

Na prática isto significa:

  • Você modificou o arquivo na sua área de trabalho (working directory). O arquivo agora está MODIFIED;
  • Agora você precisa informar ao Git que estas mudanças precisam ser persistidas, você o adiciona ao Staging Area. O arquivo agora está STAGED;
  • Por fim você precisa persistir as mudança em um novo commit e adicionar as mudanças ao repositório (.git directory).

Estes estados representam o fluxo básico da ferramenta e aprende-los é essencial para o seu uso adequado. No nosso próximo tutorial veremos como este fluxo funciona na prática.

Inté Mundo!

 

0 Comentários

Deixe um comentário

Seu endereço de e-mail não será publicado.