Jak zrobić „status git”, aby nie wyświetlał nieśledzonych plików bez użycia .gitignore?

317

Jak to zrobić, git statusaby nie wyświetlało nieśledzonych plików bez użycia .gitignore? Chcę uzyskać informacje o statusie modyfikacji tylko dla śledzonych plików.

Ross Rogers
źródło

Odpowiedzi:

498

Użyj tego:

git status -uno

co jest równoważne z:

git status --untracked-files=no

Jest to trochę ukryte w instrukcjach, ale strona statusu mówi, że „obsługuje te same opcje co git-commit”, więc tam właśnie trzeba szukać.

Daniel Bruce
źródło
1
Gdzie to piszesz? Do terminala lub do pliku?
FrenkyB
1
To jest operacja z wiersza poleceń; nie edycja pliku konfiguracyjnego git.
Ross Rogers
Co jeśli zrobiłem, git reset --hard <commit id>, a następnie dostaję status -uno, nic się nie pokazuje, pokazane są tylko nieśledzone pliki
Snow Bases
130

Również:

git config status.showuntrackedfiles no
Bombe
źródło
9
Jest to świetne w przypadku repozytorium, które zawsze zawiera nieśledzone pliki, takie jak jeden w katalogu domowym dla plików dot.
Dave
15
Dave, być może .gitignorelista jest najlepsza dla „znanych niewiadomych”, podczas gdy możesz chcieć zobaczyć „nieznane niewiadome”, które pojawiają się na nowo.
Ross Rogers,
15

Zauważ, że od wersji 1.8.3 (22 kwietnia 2013 r.) Będziesz wiedział o tym, --untracked-files=nonawet jeśli nie dodałeś tej opcji w pierwszej kolejności!

git status” sugeruje użytkownikom zastanowienie się nad użyciem --untracked-files=noopcji, gdy zajmuje to zbyt dużo czasu.

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

W niektórych repozytoriach użytkownicy odczuwają, że git statuspolecenie „ ” zajmuje dużo czasu.
Polecenie poświęca trochę czasu na przeszukanie systemu plików w poszukiwaniu nieśledzonych plików.

Wyjaśnij kompromis wynikający z domyślnego wyboru, normalaby pomóc użytkownikom w dokonaniu właściwego wyboru, zanim zaczniesz mówić o zmiennej konfiguracyjnej.

git statusDokumentacja teraz stwierdza:

Gdy -uopcja nie jest używana, wyświetlane są nieśledzone pliki i katalogi (tj. Takie same jak w przypadku określania normal), aby uniknąć zapomnienia o dodaniu nowo utworzonych plików.
Ponieważ znalezienie nie śledzonych plików w systemie plików wymaga dodatkowej pracy, ten tryb może zająć trochę czasu w dużym działającym drzewie.
Możesz użyć, noaby git statusszybciej wrócić bez wyświetlania nieśledzonych plików
.

Wartość domyślną można zmienić za pomocą status.showUntrackedFileszmiennej konfiguracyjnej udokumentowanej w git config.

VonC
źródło
2
@Tshepang dziękuję. Zredagowałem odpowiedź, aby uwzględnić odpowiedni link, a także dodać dokładne zatwierdzenie, w którym wspomniana zmiana została wprowadzona.
VonC
Jestem nowy w Git - czy możesz mi powiedzieć, gdzie napisać te polecenia, aby nie wyświetlać nieśledzonych plików? Próbowałem zapisać je w terminalu, ale nieśledzone pliki nadal się wyświetlają.
FrenkyB
@FrenkyB Co dokładnie wpisałeś w swoim terminalu (przy okazji, jakiego systemu operacyjnego? I jakiej wersji git używasz?)
VonC
OS = Windows 10 Pro, wersja Tree Source = 1.9.10.0, jak mogę sprawdzić wersję GIT? W terminalu wpisałem: git commit -u --untracked-files = no. Nadal widzę te pliki w drzewie źródeł.
FrenkyB,