2017-09-01 128 views
0

在我的.gitignore我也行:gitignore包括特定的路徑

/storage/*.key 

但我不想忽略這個特定的路徑和它的所有內容:

/storage/app/public/* 

現在,內這條道路還有另一種.gitinore文件,它具有:

* 
!.gitignore 

而且在相同的路徑還有另一個具有的.gitignore:

* 
!public/ 
!.gitignore 

我認爲這將是添加路徑,但不工作。

那是什麼?如何做到我想要的(添加存儲/應用程序/公共*的路徑)?

回答

0

只需點擊它的確切的.gitignore和精確的規則無視公衆:

cd /path/to/my/repo 
# from the root folder of the repo: 
git check-ignore -v /storage/app/public/aFileWithinPublic 

你需要測試的文件,因爲文件夾不被Git的跟蹤。

規則很簡單:

It is not possible to re-include a file if a parent directory of that file is excluded.

因此,如果該文件夾公衆被忽略(在父母的.gitignore一個「*」的規則),如果任何公開的父文件夾的是忽視,排除量不會使公開內容不被忽略。

所以這是很好的(從.gitignorestorage/app/public/文件夾的父級):

* 
!public/ 

但如果storage/app/storage/被忽略自己,這種排斥將被忽略爲好。

這就是爲什麼git check-ignore -v /storage/app/public/aFileWithinPublic很重要:它會解釋是什麼原因導致文件夾內容爲仍然被忽略。