Welche Option sollte verwendet werden, um den Git-Vergleich auf bestimmte Dateierweiterungen zu beschränken?
Gibt es eine option zum einschränken der git diff
auf einen bestimmten Satz von Datei-Erweiterungen?
InformationsquelleAutor der Frage vfclists | 2011-12-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, wenn Sie sicherstellen, dass git erweitert ein glob eher, als Sie Ihre Schale haben, dann wird es passen auf jeder Ebene so etwas wie dies (Anführungszeichen sind wichtig) sollte funktionieren.
InformationsquelleAutor der Antwort CB Bailey
Entweder Ihre shell-s globstar (rekursive Suche)1,2:
oder suchen Sie mit der:
Diese beiden sind etwas besonderes-Namen und Leerzeichen Beweis. Obwohl möchten Sie vielleicht, um einen filter für Verzeichnisse mit den .py-Erweiterung 🙂
1 ich mag zu tun
git diff -- {.,**}/*.py
Regel2, Wenn globstar aktiviert ist, wird
git diff -- **/*.py
enthält bereits./*.py
. In der Bash - manpage: "Wenn gefolgt von einem /, zwei benachbarte *s-match-es werden nur die Verzeichnisse und Unterverzeichnisse.'InformationsquelleAutor der Antwort sehe
Für einfache Datei-Muster, das scheint zu funktionieren:
Whitespace sicher, und Sie können mehrere Erweiterungen zu:
InformationsquelleAutor der Antwort Mat
Dateien rekursiv (inklusive der aktuellen von dir) dieser arbeitete für mich:
InformationsquelleAutor der Antwort Bohumir Zamecnik
Kommandozeilen-argument für eine Verlängerung.
In der alternative, Sie können über die Pipeline
find
ingit diff
:InformationsquelleAutor der Antwort hughdbrown
Keiner der oben genannten Antworten scheinen für mich arbeiten unter
git bash
auf Windows. Ich bin nicht sicher, ob es eine version was (ich bin mit 1.8.4) oder Windows/bash-Sache; auch, in meinem Fall, ich wollte diff zwei Zweigen, wobei jeder Zweig hatte zusätzliche Dateien, die nicht in den anderen Zweig (also die 'finden' basiert, sind nachlässig).Sowieso das war für mich (in meinem Beispiel auf der Suche nach einen diff zwischen den python-Dateien):
InformationsquelleAutor der Antwort Yonatan
git diff
nur zeigen Unterschiede in unstaged Dateien.Fand ich diese Frage, denn ich wollte ausschließen
.info
Dateien ausgit diff
. Ich erreichte dies durch Ihre Inszenierung mitgit add *.info
wodurch die Dateien mehr.InformationsquelleAutor der Antwort Alan Whitelaw
Gewickelt ich mit diesem:
Dies zeigt diffs für den angegebenen commit nur, wenn der Dateiname enthält das Wort 'test' (groß-und Kleinschreibung) und endet nicht mit
.sql
ändern Sie die pipeline als notwendig für Ihren Fall.InformationsquelleAutor der Antwort MatrixManAtYrService