66

.gitignore一致が再帰的にならないように何かを追加するにはどうすればよいですか?

たとえば、現在のディレクトリのディレクトリfooとファイルを無視したいbar.txtが、サブディレクトリに存在するものは無視したくない。

私は自分の.gitignoreファイルに対してこれを試しました:

foo/
bar.txt

しかし、残念ながら git はこれを再帰的に適用するためotherdir/bar.txtotherdir/foo/も無視されます。これは私が望んでいるものではありません。

(すべての無視されたファイルを表示し、無視されているファイルの原因となっているファイルを参照する git のコマンドはあり.gitignoreますか?これはデバッグに役立ちます。)

4

2 に答える 2

110

.gitignore解決策は、エントリの先頭にスラッシュを配置することです。

/foo/
/bar.txt

(StackOverflowに投稿する前にこれを試したと思っていましたが、これは完全に機能するため、明らかに適切に試していませんでした。)

于 2010-03-19T11:22:03.003 に答える
13

gitignore マンページから:

オプションのプレフィックス ! パターンを否定します。以前のパターンによって除外された一致するファイルは、再び含まれるようになります。否定されたパターンが一致する場合、これは優先順位の低いパターン ソースをオーバーライドします。

したがって!*、.gitignore の最初の行で以前のパターンがすべてクリアされます。

于 2010-03-19T11:24:00.130 に答える