.gitignore: Ignore und exclude patterns korrekt angeben
I wollte git dazu bringen einige Verzeichnisbäume zu ignoren, mit Ausnahme einzelner Unterordner bzw. -dateien. Meine Verzeichnisstruktur sah folgender Maßen aus:
.
└── public
├── index.php
└── typo3conf
├── AdditionalConfiguration.Development.php
├── AdditionalConfiguration.php
├── LocalConfiguration.php
├── PackageStates.php
└── ext
├── typo3_base_setup
└── site_package
Ich wollte, dass git den komplette public Ordner ignoriert, eller nicht die LocalConfiguration.php, AdditionalConfiguration.php und den site_package Ordner. Mein erster Versuch sah so aus:
/public/*
!/public/typo3conf/LocalConfiguration.php
!/public/typo3conf/AdditionalConfiguration.php
!/public/typo3conf/ext/site_package
Aber..., das funkioniert leider nicht. Git ignorierte den kompletten public Zweig. Nachdem ich die gitignore Dokumentation gelesen und ein bisschen herum probiert hatte, kam auf eine Lösung die funktionierte:
/public/*
!/public/typo3conf
/public/typo3conf/*
!/public/typo3conf/LocalConfiguration.php
!/public/typo3conf/AdditionalConfiguration.php
!/public/typo3conf/ext
/public/typo3conf/ext/*
!/public/typo3conf/ext/site_package
Es scheint als müsste man das exclude (un-ignore) Pattern für jede Verzeichnisebene angeben. Ich bin mir nicht sicher ob das ein Bug ist, aber es dauert eine Weile, bis ich das raus hatte.
Diese Website verwendet Disqus um Kommentare anzuzeigen. Aufgrund der geltenden Datenschutzgesetzte (DSGVO) musst du dem Laden der Kommentare von Disqus explizit zustimmen.
Kommentare anzeigen