2011-10-30 13 views
16

相対パスでディレクトリ内のファイルを無視しようとしています。例えば。私は作業ツリーにいくつかのディレクトリを持っていますlib/file.fと私はこのファイルのすべての出現を無視したいです。試しましたgitは複数の一致するファイルを無視する

lib/file.f 

これは機能しません。あなたの.gitignore

答えて

21

場所

*/lib/file.f 

。これにより、という形式のファイルは無視されます。.gitignoreprojectディレクトリにあるとします。 はあなたにもそうで

*/*/lib/file.f 
.gitignoreから

などを追加する必要があるだろう、Gitはlib/file.f 2つのディレクトリを下に無視させます。当然の

大幅に簡素、file.fという名前のすべてのファイルをブロックするように.gitignore

*file.f 

を配置することが、あなたの質問は、あなたが無視しない希望するその名前の少なくとも1つのファイルが存在であることを示唆しているようだでしょう。

+2

私は動作しません「file.f」を見つけます。しかし、 '* file.f'は行います。 – Holf

+0

@Holf 'file.f'は動作しません。ファイル自体をパスなしで参照するためです(プロジェクトのルートフォルダに' file.f'がないと思われます)。だから、_unutbu_の答えには完全なパスを持つすべての例があります。 '* file.f'は' * 'ワイルドカードを使用していて、あなたのパターンにマッチする_any file_を無視するので、うまくいきます。 – trejder

5

も、あなたは単に無視かどうか確認するためには、Gitのキャッシュからファイルを削除する場合があります

git rm --cached lib/file.f 

したい場合は、すでにGitのインデックス

0

にファイルを追加した場合、これはあります特定のフォルダの下にあるすべてのサブフォルダを指定するには/**/を使用します。 /src/main/フォルダとサブフォルダ内のすべてのfile.fのファイルを無視するに使用します。

/src/main/**/file.f 
関連する問題