Bunu başarmanın daha basit bir yolu şudur:
# Ignore all files...
*.*
# ...except the ones we want
!*.txt
Bu işe yarar çünkü dosyanın altındaki her seviyeye gitignore
başlamayan kalıplar uygulanır :/
.gitignore
Desenin başında veya ortasında (veya her ikisinde) bir ayırıcı varsa, desen belirli .gitignore dosyasının kendi dizin düzeyine göredir. Aksi takdirde kalıp, .gitignore seviyesinin altındaki herhangi bir seviyede de eşleşebilir.
Bunu bir dizin içindeki dosyalara yapmak istiyorsanız , işler daha karmaşık hale gelir:
# Ignore all files in all directories inside subdir...
/subdir/**/*.*
# ...except the ones we want
!/subdir/**/*.txt
Bu işe yarar çünkü aşağıdakiler gitignore
için özel kurallar vardır **
:
**
Tam yol adıyla eşleşen desenlerdeki iki ardışık yıldız işaretinin (" ") özel bir anlamı olabilir:
- Eğik çizgi ve ardından art arda iki yıldız işareti, ardından bir eğik çizgi sıfır veya daha fazla dizinle eşleşir. Örneğin, "
a/**/b
" " a/b
", " a/x/b
", " a/x/y/b
" vb. İle eşleşir .
Önemli olan, dizinleri görmezden gelmemenizi sağlamaktır, çünkü o zaman o dizindeki her dosya diğer kurallardan bağımsız olarak yok sayılır.