[英]How are these gitignore exclude-from-ignore subfolder patterns different?
我有一個gitignore文件,除了某些特定文件外,它不包含源目錄:
/src_app
!/src_app/Learning\ Module\-darwin\-x64/
!/src_app/assets/icons/mac/
“排除-忽略”學習模塊目錄與正則表達式與“-忽略-忽略”圖標正則表達式相同,只是我在學習模塊目錄中轉義了空白,而圖標目錄不需要。
奇怪的是,學習模塊目錄下的所有文件都被識別,而圖標目錄下的文件沒有被拾取。
這兩種模式之間的區別是什么,使得git可以識別一個子路徑而不能識別另一個子路徑?
關鍵是, src_app/assets
沒有被讀取的一切都讓src_app/assets/icons
是沒有找到 。 沒有被發現,它不能被取消忽略,這樣將掃描以查找/src_app/assets/icons/mac
所以, 這可能是未忽略。
解決方法是先取消忽略src_app/assets
,然后再取消忽略src_app/assets/icons
:
!src_app/assets/
!src_app/assets/icons/
其中第一個使Git在src_app/assets
內部src_app/assets
(以便它將找到icons
),第二個使Git在src_app/assets/icons
內部。 src_app/assets/icons/mac
的現有規則將生效。
(如果src_app/assets/
和/或src_app/assets/icons/
存在不應自動添加且不應抱怨的文件(即未跟蹤的文件),則必須將這些文件列出為要忽略的文件。)
旁注:在/src_app/Learning\\ Module\\-darwin\\-x64/
,連字符前的反斜杠是不必要的(但無害)。 這些都不是正則表達式 ; 它們都是glob模式 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.