Como eu faço um 'status git' para que ele não exiba arquivos não rastreados sem usar o .gitignore?

317

Como faço git statuspara não exibir arquivos não rastreados sem usar .gitignore? Desejo obter informações de status de modificação apenas em arquivos rastreados.

Ross Rogers
fonte

Respostas:

498

Usa isto:

git status -uno

que é equivalente a:

git status --untracked-files=no

Está um pouco oculto nos manuais, mas a página de manual do status diz "suporta as mesmas opções que o git-commit", então é aí que você deve procurar.

Daniel Bruce
fonte
1
Onde você escreve isso? No terminal ou no arquivo?
FrenkyB
1
Essa é uma operação de linha de comando; não é uma edição do arquivo de configuração do git.
Ross Rogers
E se eu tiver feito, git reset --hard <commit id>, em seguida, git status -uno, nada aparece, apenas arquivos não rastreados são mostrados #
Snow Bases
130

Além disso:

git config status.showuntrackedfiles no
Bombe
fonte
9
Isso é ótimo para um repositório que sempre possui arquivos não rastreados, como um no diretório inicial para arquivos de ponto.
31513 Dave Dave
15
Dave, Talvez a .gitignorelistagem seja melhor para "incógnitas conhecidas", enquanto você pode querer ver "incógnitas desconhecidas" que aparecem novamente.
Ross Rogers
15

Observe que, desde o git 1.8.3 (22 de abril de 2013) , você saberá sobre o --untracked-files=nomesmo se não tiver adicionado essa opção em primeiro lugar!

" git status" sugere que os usuários estudem o uso da --untracked-files=noopção quando levar muito tempo.

Consulte commit https://github.com/git/git/commit/5823eb2b28696bf0eb25f6ca35b303447869f85 :

Em alguns repositórios, os usuários experimentam que " git status" o comando leva muito tempo.
O comando passa algum tempo pesquisando no sistema de arquivos por arquivos não rastreados.

Explique o trade-off atingido pela opção padrão de normalajudar os usuários a fazer uma escolha apropriada melhor, antes de falar sobre a variável de configuração.

A git statusdocumentação agora afirma:

Quando a -uopção não é usada, arquivos e diretórios não rastreados são mostrados (ou seja, o mesmo que especificar normal), para ajudar a evitar o esquecimento de adicionar arquivos recém-criados.
Como é necessário um trabalho extra para encontrar arquivos não rastreados no sistema de arquivos, esse modo pode levar algum tempo em uma grande árvore de trabalho.
Você pode usar nopara git statusretornar mais rapidamente sem mostrar arquivos não rastreados
.

O padrão pode ser alterado usando a status.showUntrackedFilesvariável de configuração documentada em git config.

VonC
fonte
2
@Tshepang obrigado. Editei a resposta para incluir o link apropriado e para adicionar o commit exato no qual a alteração foi introduzida.
VonC
Eu sou novo no git - você pode me dizer onde escrever esses comandos para não mostrar arquivos não rastreados? Eu tentei escrevê-los no terminal, mas os arquivos não rastreados ainda estão aparecendo.
FrenkyB
@FrenkyB O que você digita exatamente em seu terminal (que OS pelo caminho e qual versão você está usando git?)
VonC
SO = Windows 10 Pro, versão da Árvore de origem = 1.9.10.0, como posso verificar a versão do GIT? O que eu digitei no terminal é: git commit -u --untracked-files = no. Ainda vejo esses arquivos na Árvore de código-fonte.
FrenkyB