Vendo o que mudou: status e diff
Na aula passada você conheceu três áreas: a árvore de trabalho, a área de staging, e o histórico (os commits). Agora vamos aprender dois comandos que mostram o que está acontecendo entre essas áreas sem mudar nada. git status é o seu painel: 'onde eu estou e o que mudou?' — em qual branch você está,
status é o recibo do caixa: uma lista do que está na caixa (staged), do que ainda está fora dela (unstaged), e do que é totalmente novo. diff é uma comparação lado a lado das palavras exatas que mudaram.
- git status
- O painel do repositório: o branch ativo, arquivos já em staging, mudanças ainda não adicionadas, e arquivos novos que não são tracked. Só leitura — não muda nada.
- git diff
- Mostra linha por linha a diferença exata. Sem flag — entre a árvore de trabalho e o staging (o que você ainda não adicionou). Com --staged — entre o staging e o último commit (o que está prestes a ser salvo).
- Arquivo não-tracked (untracked)
- Um arquivo novo que existe na pasta mas o Git ainda não controla, porque nunca foi adicionado com git add. status o mostra em 'Untracked files'.
- Mudanças não-staged
- Mudanças em um arquivo já tracked, mas que ainda não foram adicionadas ao staging com git add, e por isso não vão entrar no próximo commit até que você as adicione.