Wie können Sie nicht verfolgte Dateien anzeigen, die in .gitignore nicht vorhanden sind?


167

Ich verwende git status -u, um nicht verfolgte Dateien anzuzeigen. Und auf dem Terminal sehe ich viele nicht verfolgte Dateien, die ich nicht mehr verfolgen muss, wie z. B. Komponententests, persönliche Dokumentation usw. Ich habe sie abgelegt .gitignore, aber es scheint, dass sie git statusimmer noch angezeigt werden.

Wie zeigen Sie nur untracked Dateien , die in nicht existieren .gitignore.


11
Wenn nicht verfolgte Dateien im Git-Status angezeigt werden, werden sie von .gitignore nicht ordnungsgemäß ignoriert. Können Sie die Struktur des Arbeitsverzeichnisses und den Inhalt von .gitignore anzeigen?
Max

7
Stimmen Sie mit @max überein, es sollte funktionieren. Hier ist eine wilde Vermutung: Wenn Sie unter Windows arbeiten, beachten Sie, dass bei .gitignore im Gegensatz zu Windows zwischen Groß- und Kleinschreibung unterschieden wird. Wenn Sie also * .txt ignorieren und eine Test.TXT auf der Festplatte vorhanden ist, wird diese nicht ignoriert.
Joe White

Antworten:


268

Sie können explizit auflisten, was verfolgt und nicht verfolgt wird, um zu sehen, ob Git Ihre sieht und ehrt .gitignore. Wenn Sie Ihre .gitignoreInhalte, git statusAusgaben und / diroder lsBeiträge veröffentlichen, können wir Sie besser unterstützen.

Ignorierte Dateien auflisten

$ git ls-files . --ignored --exclude-standard --others

Listen Sie nicht verfolgte Dateien auf

$ git ls-files . --exclude-standard --others

3
Wenn Sie Dateien sehen, von denen Sie nicht glauben, dass sie sich in Ihrem .gitignore befinden, versteckt sich möglicherweise eine andere in Ihrem Projekt. Frettchen Sie es mit `find. -name .gitignore`.
Jpadvo

@ matthew-mccullough Tolle Antwort! Ich werde einige Aliase für diese hinzufügen, danke! @jpadvo Können Sie ein Beispiel für die Verwendung der findMethode geben?
Lacostenycoder

Wenn Sie eine kurze Liste wünschen, sagen wir, Sie ignorieren node_modules und möchten nicht den gesamten Baum sehen, fügen Sie hinzu, --directorydamit nur der Ordner der obersten Ebene gedruckt wird, der ignoriert wird (dies ist näher am Git-Status).
Henry Blyth

2
Um dies zu verdeutlichen, werden git ls-files --others --exclude-standard --ignorednicht verfolgte ignorierte Dateien und git ls-files --others --exclude-standardnicht verfolgte nicht ignorierte Dateien aufgelistet . Mehr dazu hier .
X-Yuri

1
Beachten Sie, dass standardmäßig git ls-files --otherskeine leeren Verzeichnisse aufgelistet werden. Um leere Verzeichnisse aufzulisten, fügen Sie die --directoryOption hinzu. Dies ist aus der Manpage nicht ersichtlich, kann aber abgeleitet werden. --directory: Wenn ein ganzes Verzeichnis als "anderes" klassifiziert ist, zeigen Sie nur seinen Namen (mit einem abschließenden Schrägstrich) und nicht seinen gesamten Inhalt an. . --no-empty-directory: Leere Verzeichnisse nicht auflisten. Hat ohne --directory keine Wirkung.
Catanman


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.