2016-08-04 4 views
0

現在、git-repositoryをクリーンアップしており、依存関係を移動しています。 私が使用するサードパーティのライブラリがすべて含まれているグローバルフォルダを作成することに決めました。これらの*.dllファイルを除いて、私はプロジェクト内の他のdllファイルを無視したい。gitignoreは指定されたサブフォルダ内の特定のファイルのみを許可します

*.dll 
!external\ libraries/*.dll 

明らかに動作しません:

だから私のプロジェクトのルートディレクトリにgitignoreは、これらの行が含まれています。 ディレクトリに.gitignoreファイルを置いてみました。そのディレクトリには、!*.dllという行も含まれていましたが、どちらもうまくいきませんでした。

私は間違っていますか?

E/rootディレクトリ期待通りにすべてのフォルダを返しLSでexternal libraries

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

でLSの

出力。

+0

他のすべてのdllはbinフォルダにあると思うので、 "bin \ *。dll"を無視して問題を解決しますか? AFAIKに "!"単一のファイルまたはフォルダを無視しないようにしか指定できません。 –

+0

奇妙ですが、これは問題を再現しようとしたときに機能するようです。あなたは関連するディレクトリで 'ls'の出力を共有できますか? – Mureinik

+0

@TomSöhneというbinフォルダを無視し、dllファイルの他の無視を削除しました。私はgitignoreのキャッシュを更新しましたが、それらのファイルはまだ 'git status'に表示されません。 – Marv

答えて

0

私はgit check-ignore -v filename経由でファイルがブロックされた様子を確認しました。明らかにどこかの時点で、グローバルgitignoreファイルが自分のコンピュータ上に作成されました。それを削除すると私の問題は解決しました。

関連する問題