git status
Mostra o estado dos seus arquivos de trabalho e da área de preparação
O comando 'git status' mostra quais arquivos você alterou, quais alterações estão preparadas para o próximo commit e quais arquivos o Git ainda não rastreia. Ele nunca altera nada, então é seguro executá-lo a qualquer momento — execute-o antes de cada git add e git commit. Ele também diz em qual branch você está e, com um remoto, quanto você está à frente ou atrás.
Sinopse
git status [<options>] [--] [<pathspec>...]Opções
Escolhendo a opção certa
Códigos do formato curto
As duas colunas de git status -s
| Comando | Significado |
|---|---|
?? file | Não rastreado: o Git não conhece o arquivo |
M file | Modificado, não preparado |
M file | Modificado e preparado |
MM file | Preparado e depois modificado de novo |
A file | Arquivo novo, preparado |
D file | Excluído, não preparado |
Exemplos
Status completo
git statusLista alterações preparadas, não preparadas e arquivos não rastreados, com dicas.
Formato curto
git status -sUma linha por arquivo com um código de duas letras.
Curto com o branch
git status -sbFormato curto mais o branch e seus contadores de à frente/atrás.
Exemplos de fluxos de trabalho
git statusVer o que mudou
git add app.jsPreparar o arquivo desejado
git statusConferir que ele está em "Changes to be committed"
git commit -m "Add to cart"Commit
Solução de problemas
Um arquivo não aparece no git status
Causa: Ele está no .gitignore, ou não mudou
Verifique com git check-ignore -v <file>; arquivos rastreados sem alteração não são listados
git status fica lento num repositório grande
Causa: O Git percorre cada arquivo do diretório de trabalho
Limite a uma pasta: git status src/
Dicas e armadilhas
Boas práticas
- ✓Execute git status antes de git add e antes de git commit.
- ✓Leia as dicas: git status mostra o comando que desfaz cada estado.
- ✓Use git status -sb para uma visão compacta que ainda mostra o branch.
Erros comuns
- ✗Fazer commit sem conferir git status e gravar arquivos indesejados.
- ✗Achar que um arquivo não rastreado entrará no commit — ele precisa ser adicionado antes.
- ✗Ler " M" e "M " como a mesma coisa: a coluna diz se a alteração está preparada.
Perguntas frequentes
Não. Ele só lê seus arquivos, a área de preparação e o último commit.
Seus arquivos, a área de preparação e o último commit são idênticos: não há nada para commitar.
Você o preparou e depois o editou de novo. A versão preparada é a que o próximo commit vai gravar.