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á a acontecer 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, ficheiros já em staging, mudanças ainda não adicionadas, e ficheiros 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).
- Ficheiro não-tracked (untracked)
- Um ficheiro 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 ficheiro 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.