Anmerkungen:
Ebenfalls interessant (in der Antwort von qwertymk erwähnt ), können Sie den Befehl auch verwenden , zumindest unter Unix ( funktioniert nicht in einer CMD- Windows- Sitzung).git check-ignore -v
git check-ignore *
git check-ignore -v *
Die zweite zeigt die tatsächliche Regel an, nach der .gitignore
eine Datei in Ihrem Git-Repo ignoriert wird.
Verwenden Sie unter Unix " Was wird rekursiv auf alle Dateien im aktuellen Verzeichnis erweitert? " Und ein bash4 +:
git check-ignore **/*
(oder ein find -exec
Befehl)
Hinweis: https://stackoverflow.com/users/351947/Rafi B. schlägt in den Kommentaren vor , den (riskanten) Globstar zu vermeiden :
git check-ignore -v $(find . -type f -print)
Stellen Sie jedoch sicher, dass Sie die Dateien aus dem .git/
Unterordner ausschließen.
Ursprüngliche Antwort 42009)
git ls-files -i
sollte funktionieren, außer der Quellcode zeigt an:
if (show_ignored && !exc_given) {
fprintf(stderr, "%s: --ignored needs some exclude pattern\n",
argv[0]);
exc_given
?
Es stellt sich heraus, dass nach dem ein weiterer Parameter benötigt wird, -i
um tatsächlich etwas aufzulisten:
Versuchen:
git ls-files -i --exclude-from=[Path_To_Your_Global].gitignore
(aber das würde nur Ihr zwischengespeichertes (nicht ignoriertes) Objekt mit einem Filter auflisten, so dass das nicht ganz das ist, was Sie wollen)
Beispiel:
$ cat .git/ignore
# ignore objects and archives, anywhere in the tree.
*.[oa]
$ cat Documentation/.gitignore
# ignore generated html files,
*.html
# except foo.html which is maintained by hand
!foo.html
$ git ls-files --ignored \
--exclude='Documentation/*.[0-9]' \
--exclude-from=.git/ignore \
--exclude-per-directory=.gitignore
Tatsächlich finde ich in meiner 'gitignore'-Datei (genannt' exclude ') eine Befehlszeile, die Ihnen helfen könnte:
F:\prog\git\test\.git\info>type exclude
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
Damit....
git ls-files --others --ignored --exclude-from=.git/info/exclude
git ls-files -o -i --exclude-from=.git/info/exclude
git ls-files --others --ignored --exclude-standard
git ls-files -o -i --exclude-standard
sollte den Trick machen.
Wie in der Manpage ls-files erwähnt , --others
ist dies der wichtige Teil, um Ihnen nicht zwischengespeicherte, nicht festgeschriebene, normalerweise ignorierte Dateien anzuzeigen.
--exclude_standard
ist nicht nur eine Verknüpfung, sondern eine Möglichkeit, alle Standardeinstellungen für "ignorierte Muster" einzuschließen.
exclude-standard
Fügen Sie die Standard-Git-Ausschlüsse hinzu : .git/info/exclude
, .gitignore
in jedes Verzeichnis und die user's global exclusion file
.