Introdução
Neste laboratório, você aprenderá como verificar se um arquivo está no índice do Git, também conhecido como área de staging (staging area). Exploraremos o conceito de índice e seu papel na preparação de alterações para commits.
Você usará o comando git ls-files --stage para visualizar o conteúdo do índice e o comando git status para obter uma visão geral abrangente do estado do seu repositório, incluindo alterações staged (preparadas) e unstaged (não preparadas). Finalmente, você testará como o Git lida com arquivos que ainda não foram adicionados ao índice.
Executar git ls-files --stage
Nesta etapa, exploraremos o índice do Git, também conhecido como área de staging (staging area). O índice é um conceito crucial no Git. É como uma área de espera onde você prepara as alterações antes de confirmá-las (commit).
Pense desta forma: quando você faz alterações em arquivos no seu diretório de trabalho (working directory), elas não são automaticamente incluídas no seu próximo commit. Você primeiro precisa adicioná-las ao índice usando git add. O índice contém um snapshot (instantâneo) das alterações que você preparou (staged), pronto para ser commitado.
Para ver o que está atualmente no índice, usamos o comando git ls-files --stage. Este comando lista os arquivos que estão atualmente preparados para o próximo commit.
Vamos tentar no seu diretório my-time-machine:
cd ~/project/my-time-machine
git ls-files --stage
Como ainda não adicionamos nenhum arquivo ao índice neste novo repositório, você não deverá ver nenhuma saída. Isso indica que o índice está atualmente vazio.
Compreender o índice é fundamental para dominar o Git. Ele oferece controle preciso sobre o que entra em cada commit, permitindo que você agrupe alterações relacionadas e mantenha seu histórico de commits limpo e organizado.
Usar git status para Verificar o Índice
Na etapa anterior, usamos git ls-files --stage para ver o conteúdo do índice. Outro comando que nos ajuda a entender o estado do nosso repositório, incluindo o índice, é git status.
O comando git status fornece um resumo do que está acontecendo no seu diretório de trabalho (working directory) e na área de staging (staging area) em comparação com seu último commit. Ele informa quais arquivos foram alterados, quais estão preparados (staged) para o próximo commit e quais não estão sendo rastreados (untracked).
Vamos executar git status no nosso diretório my-time-machine:
cd ~/project/my-time-machine
git status
Como este é um repositório totalmente novo e ainda não criamos nenhum arquivo ou fizemos nenhum commit, a saída deve ser semelhante a esta:
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
Esta saída confirma que não há alterações para serem commitadas, o que significa que o índice está vazio, assim como git ls-files --stage nos mostrou. A mensagem "nothing to commit" (nada para commitar) se relaciona diretamente com o estado do índice.
À medida que avançamos no laboratório e começamos a criar e preparar arquivos, você verá como a saída de git status muda para refletir o conteúdo do índice e o estado do seu diretório de trabalho.
Testar Arquivos Não Indexados
Nesta etapa, criaremos um novo arquivo em nosso diretório de trabalho (working directory) e observaremos como o Git o reconhece antes que ele seja adicionado ao índice. Isso ajudará você a entender a diferença entre arquivos no seu diretório de trabalho e arquivos no índice.
Primeiro, certifique-se de estar no diretório my-time-machine:
cd ~/project/my-time-machine
Agora, vamos criar um arquivo de texto simples usando o comando echo:
echo "This is a new file." > new_file.txt
Este comando cria um arquivo chamado new_file.txt e escreve o texto "This is a new file." nele.
Agora, vamos verificar o status do nosso repositório novamente usando git status:
git status
Você deve ver uma saída semelhante a esta:
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
new_file.txt
nothing added to commit but untracked files present (use "git add" to track)
Observe a seção "Untracked files:" (Arquivos não rastreados). O Git vê que new_file.txt existe no diretório de trabalho, mas não está sendo rastreado pelo Git ainda. Isso significa que ele não está no índice e não faz parte de nenhum histórico de commits.
Este é um conceito chave: o Git rastreia apenas os arquivos que você explicitamente diz para rastrear usando git add. Quaisquer novos arquivos criados no diretório de trabalho de um repositório Git são inicialmente "untracked" (não rastreados).
Na próxima etapa, adicionaremos este arquivo ao índice, preparando-o para nosso primeiro commit.
Resumo
Neste laboratório, aprendemos como verificar se um arquivo está no índice do Git, também conhecido como área de staging (staging area). Usamos o comando git ls-files --stage para listar diretamente os arquivos atualmente preparados (staged) para o próximo commit. Também exploramos o comando git status, que fornece uma visão geral abrangente do estado do repositório, incluindo informações sobre arquivos preparados, modificados e não rastreados, ajudando-nos a verificar o conteúdo do índice.



