erklären Gitignore Pattern Matching
Ich habe den folgenden Verzeichnisbaum:
> #pwd is the repo
> tree -a
.
├── .git
│ |.....
├── .gitignore
├── README.md
├── f1.html
├── f2.html ... and some more html
├── images
│ └── river.jpg
>
Ich habe auch die folgenden in meinem.gitignore
:
> cat .gitignore
*
!*.html
!images/*.*
>
Ich möchte, dass alle Dateien im Bilderverzeichnis in das Repo aufgenommen werden. Das passiert aber nicht. Ich habe es mit den folgenden in Gitignore arbeiten:
*
!*.html
!images*
!*.jp*g
Was passiert hier? Gibt es eine narrensichere Möglichkeit, Gitignore zu testen. Ich habe das @ überprüDokumentatio. Hier ist der Punkt, den es nicht versteht (dies ist unterpattern format Überschrift):
Andernfalls behandelt Git das Pattern als Shell-Glob, der für die Verwendung durch fnmatch (3) mit dem Flag FNM_PATHNAME geeignet ist: Platzhalter im Pattern stimmen nicht mit einem / im Pfadnamen überein. Beispielsweise stimmt "Documentation / *. Html" mit "Documentation / git.html" überein, nicht jedoch mit "Documentation / ppc / ppc.html" oder "tools / perf / Documentation / perf.html".