2015-09-30 114 views
3

我正在爲我的Linux主目錄創建一個git存儲庫。我想忽略除白名單的文件/目錄以外的大部分內容。我有這樣的:.gitignore白名單中忽略的子目錄

# Ignore everything 
* 
# But not these files... 
!.gitignore 
!*/scripts/* 
# the above line doesn't work, so this is a test: 
!./scripts/* 

但它忽略了我添加到scripts/子目錄中的文件。我一直在用-f添加東西,這是次優。

對這個問題的回答,Git Won't Un-Ignore a Directory,不適用於我。

Git 2.1.4版。

回答

6

the docs

這是不可能再有一個文件,如果該文件的父目錄排除

你需要明確屏蔽這兩個目錄其內容,否則忽略內容的忽略規則不能匹配任何內容。首先,屏蔽scripts,然後你可以統一scripts/*

這裏是工作的.gitignore:

* 
!.gitignore 
!scripts 
!scripts/* 

這就是說,因爲你屏蔽*,你可以逃脫只是一個規則,這unignores路徑scripts。第二個scripts/*是多餘的。