วิธีที่ง่ายกว่าในการบรรลุสิ่งนี้คือ:
# Ignore all files...
*.*
# ...except the ones we want
!*.txt
ใช้งานได้เนื่องจากgitignore
ใช้รูปแบบที่ไม่ได้ขึ้นต้นด้วย/
ทุกระดับด้านล่าง.gitignore
ไฟล์:
หากมีตัวคั่นที่จุดเริ่มต้นหรือตรงกลาง (หรือทั้งสองอย่าง) ของรูปแบบแสดงว่ารูปแบบนั้นสัมพันธ์กับระดับไดเร็กทอรีของไฟล์. gitignore นั้นเอง มิฉะนั้นรูปแบบอาจตรงกันในระดับใดก็ได้ที่ต่ำกว่าระดับ. gitignore
หากคุณต้องการทำสิ่งนี้กับไฟล์ภายในไดเร็กทอรีสิ่งต่างๆจะซับซ้อนมากขึ้น:
# Ignore all files in all directories inside subdir...
/subdir/**/*.*
# ...except the ones we want
!/subdir/**/*.txt
ใช้งานgitignore
ได้เนื่องจากมีกฎพิเศษสำหรับ**
:
เครื่องหมายดอกจันสองดอกติดกัน (" **
") ในรูปแบบที่ตรงกับชื่อพา ธ แบบเต็มอาจมีความหมายพิเศษ:
- เครื่องหมายทับตามด้วยเครื่องหมายดอกจันสองตัวติดกันจากนั้นเครื่องหมายทับจะตรงกับไดเรกทอรีศูนย์หรือมากกว่า ตัวอย่างเช่น "
a/**/b
" จับคู่ " a/b
", " a/x/b
", a/x/y/b
"และอื่น ๆ
ส่วนสำคัญคือเพื่อให้แน่ใจว่าคุณไม่ละเว้นไดเรกทอรีเพราะทุกไฟล์ในไดเรกทอรีนั้นจะถูกละเว้นโดยไม่คำนึงถึงกฎอื่น ๆ