Num repositório Git, os arquivos podem estar em um de dois estados, conhecidos como:
- A)Commited e Saved;
Errada, porque 'Commited' e 'Saved' não são os dois estados básicos de arquivos em um repositório Git.
- B)New e Old;
Errada, porque 'New' e 'Old' não são classificações usadas pelo Git para estado de arquivo.
- C)Open e Closed;
Errada, porque 'Open' e 'Closed' não correspondem aos estados de rastreamento de arquivos no Git.
- D)ReadOnly e Full;
Errada, porque 'ReadOnly' e 'Full' não são estados do Git relacionados ao controle de versão.
- E)Tracked e Untracked.
Certa, porque os arquivos no Git são classicamente classificados como tracked ou untracked, conforme estejam ou não sendo acompanhados pelo repositório.
Gabarito: E
No Git, o ponto central é saber se o arquivo está ou não sob controle de versão. Em linguagem simples, ele pode estar fora do radar do Git ou já ser acompanhado pelo repositório. Essa é a primeira divisão que você precisa guardar, porque ela aparece muito em prova e evita confusão com estados de commit, save e outras invenções que só existem para atrapalhar a vida do candidato. Quando o arquivo ainda não foi incluído no controle do Git, ele é tratado como um arquivo não rastreado. Depois que você o adiciona ao repositório, ele passa a ser rastreado, isto é, o Git passa a acompanhar suas mudanças. Em muitas apresentações didáticas, esses são os dois estados básicos mencionados na questão. Por isso o gabarito é a letra E. A banca está cobrando a terminologia clássica do Git: tracked e untracked. O arquivo tracked é aquele que o Git já conhece e monitora; o untracked é aquele que ainda não foi adicionado ao controle de versão. É uma distinção simples, mas muito cobrada. Não há aqui fundamento legal ou jurisprudencial, porque o assunto é técnico de engenharia de software. O que vale é a doutrina prática do próprio funcionamento do Git: controle de versão, indexação e acompanhamento de alterações.