2
respostas

Dúvida: Aula 2 - Exercício 04. Quais os estados possíveis?

Olá pessoal,

RESUMO: Eu não consegui entender o que significa o terceiro estado, HEAD, e como que ele é usado para comparar com a staging area e com o working directory.

DETALHAMENTO: O exercício 04 da Aula 2 pede:

"Quais são os três estados de um repositório com os quais interagimos ao realizar o fluxo de controle com o Git?"

E nos oferece 5 opções:

  • A) commit, add e clone
  • B) unsaved, saved e controlled
  • C) working directory, index e HEAD
  • D) init, add e commit
  • E) untracked, tracked e modified

Este assunto não é coberto no vídeo ou em artigos antes deste exerício. Minhas duas primeiras tentativas foram letra E depois letra B. Sem conseguir acertar, chutei até encontrar - como última opção - que a resposta era letra C e a explicação segue:

  • working directory representa o estado atual dos arquivos no repositório. Podemos utilizar o comando git add para adicioná-los ao index, ou staging area, que representa uma visão preliminar das modificações que queremos definir para nosso projeto, comparando essas ao HEAD, o último passo completo do nosso projeto, que serve de referência para comparação do trabalho com o working directory.

Não consegui entender essa explicação, em especial a parte destacada em negrito.

Agradeço se alguém puder me ajudar, ou apontar pra algum tutorial ou artigo que esclareça melhor essa relação de estados de um repositório.

Obrigado. Mauricio

2 respostas

Oi Mauricio, vams lá:

Os três estados

Os três estados Agora, preste atenção. Esta é a principal coisa a se lembrar sobre o Git se você quiser que o resto do seu processo de aprendizagem ocorra sem problemas. O Git tem três estados principais nos quais seus arquivos podem residir: confirmados, modificados e preparados(committed, modified, and staged). Commited significa que os dados são armazenados com segurança no banco de dados local. Modified significa que você alterou o arquivo, mas ainda não o confirmou no banco de dados. Staged significa que você marcou um arquivo modificado em sua versão atual para ir para o seu próximo commit de confirmação.

Isso nos leva às três seções principais de um projeto Git: o diretório Git, o diretório de trabalho e a área de preparação.(Git directory, the working directory, and the staging area.)

O diretório Git é onde o Git armazena o banco de dados de metadados e objetos para o seu projeto. Esta é a parte mais importante do Git, e é o que é copiado quando você clona um repositório de outro computador.

O diretório de trabalho é um único checkout de uma versão do projeto. Esses arquivos são retirados do banco de dados compactado no diretório Git e colocados no disco para você usar ou modificar.

A staging area é um arquivo simples, geralmente contido no diretório Git, que armazena informações sobre o que acontecerá no seu próximo commit. Às vezes é chamado de índice, mas está se tornando padrão referir-se a ele como a área de teste.

O fluxo de trabalho básico do Git é algo assim:

Você modifica arquivos em seu diretório de trabalho. Você organiza os arquivos, adicionando instantâneos deles à sua área de preparação. Você faz um commit, que pega os arquivos como eles estão na área de staging e armazena esse snapshot permanentemente no seu diretório Git.

Para uma leitura completaNoções Básicas de Git

Espero ter ajudado e bons estudos.

Oi Mauricio consegui te ajudar com sua dúvida ?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software