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.

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ć.


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

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.


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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.