2016-08-04 124 views
0

我目前正在清理一個git-repository,移動依賴關係等等。 我決定建立一個包含我們使用的所有第三方庫的全局文件夾。除了這些*.dll文件,我想忽略項目中的任何其他dll文件。gitignore允許某個文件只在命名的子文件夾

所以我gitignore在項目的根目錄中包含這些行:

*.dll 
!external\ libraries/*.dll 

,這顯然是行不通的。 我也嘗試將一個.gitignore文件放入external libraries目錄,其中包含!*.dll行,但該行也不起作用。

我在做什麼錯?

E /在external libraries

/external libraries (branchname) 
$ ls 
file1.dll* 
file2.dll* 

LS的

輸出在根目錄LS按預期返回的所有文件夾。

+0

我猜所有其他的DLL都在bin文件夾中,所以忽略「bin \ *。dll」,它能解決你的問題嗎? AFAIK帶「!」您只能指定一個不被忽略的文件或文件夾。 –

+0

奇怪,但這似乎工作,當我試圖重現你的問題。你可以在你的相關目錄中共享'ls'的輸出嗎? – Mureinik

+0

我現在忽略了bin文件夾@TomSöhne並刪除了任何其他忽略的dll文件。我甚至刷新了gitignore的緩存,但這些文件仍然沒有顯示在'git status'上 – Marv

回答

0

我通過git check-ignore -v filename檢查了該文件是如何被阻止的,顯然在某個時刻在我的電腦上創建了一個全局gitignore文件。刪除它解決了我的問題。

相關問題