git status

Snapshots básicos

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>...]
[ ] opcional| ou<arg> valor a substituir... repetível--flag opção

Opções

Clique em uma opção para expandir

Iniciante (2)

Gera a saída no formato curto: duas letras de status por arquivo (área de preparação, depois diretório de trabalho).

RecomendadoVisão compacta do dia a dia: duas letras de status por arquivo

Exemplo

git status -s

Mostra o branch e o rastreamento, mesmo no formato curto.

RecomendadoAdiciona o branch e os contadores de à frente/atrás ao formato curto

Exemplo

git status -sb

Intermediário (1)

Gera a saída num formato estável e fácil de analisar para scripts. Ela é igual em todas as versões do Git e com qualquer configuração.

Quando necessárioFormato estável, legível por scripts

Exemplo

git status --porcelain

Escolhendo a opção certa

Códigos do formato curto

As duas colunas de git status -s

ComandoSignificado
?? fileNão rastreado: o Git não conhece o arquivo
M fileModificado, não preparado
M fileModificado e preparado
MM filePreparado e depois modificado de novo
A fileArquivo novo, preparado
D fileExcluído, não preparado

Exemplos

Status completo

git status

Lista alterações preparadas, não preparadas e arquivos não rastreados, com dicas.


Formato curto

git status -s

Uma linha por arquivo com um código de duas letras.


Curto com o branch

git status -sb

Formato curto mais o branch e seus contadores de à frente/atrás.

Exemplos de fluxos de trabalho

1
git status

Ver o que mudou

2
git add app.js

Preparar o arquivo desejado

3
git status

Conferir que ele está em "Changes to be committed"

4
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

A:

Não. Ele só lê seus arquivos, a área de preparação e o último commit.

A:

Seus arquivos, a área de preparação e o último commit são idênticos: não há nada para commitar.

A:

Você o preparou e depois o editou de novo. A versão preparada é a que o próximo commit vai gravar.