139

ファイルで次のパターンを回避しようとしてい.gitignoreます。

MyPrject/WebApp/Scripts/special/*.js
MyPrject/WebApp/Scripts/special/*/*.js
MyPrject/WebApp/Scripts/special/*/*/*.js
MyPrject/WebApp/Scripts/special/*/*/*/*.js
MyPrject/WebApp/Scripts/special/*/*/*/*/*.js
MyPrject/WebApp/Scripts/special/*/*/*/*/*/*.js
MyPrject/WebApp/Scripts/special/*/*/*/*/*/*/*.js

私たちは試しました:

MyPrject/WebApp/Scripts/special/**.js
MyPrject/WebApp/Scripts/special/**/*.js

しかし、これはうまくいきませんでした。これは Windows の git です。物事を繰り返さずにこれを行うためのより簡潔な方法はありますか?

4

4 に答える 4

147

git 1.8.2 の時点で、これは次のとおりです。

MyPrject/WebApp/Scripts/special/**/*.js

この答えに従って動作するはずです。また、Sourcetree 1.6.12.0 とそれがインストールする git のバージョン (1.8.4-preview20130916) を使用して、Windows 7 でも動作します。

ディレクトリの下のすべてのファイルとフォルダーを再帰的に gitignore するには:

MyPrject/WebApp/Scripts/special/**
于 2015-01-02T12:09:12.367 に答える
24

次の gitignore マニュアルページ:

[...] git は、パターンを、FNM_PATHNAME フラグを指定した fnmatch(3) による消費に適したシェル グロブとして扱います。パターン内のワイルドカードは、パス名の / と一致しません。

したがって、これは、 と の間のように、2 つの文字列の間に特定の量のディレクトリを指定する方法がないことを明確に示しています。specialjs

.gitignoreそれにもかかわらず、ディレクトリごとにファイルを持つことができるので、おそらくあなたの場合、次のコンテンツ

*.js

次の場所で

MyPrject/WebApp/Scripts/special/.gitignore

で十分でしょうか?

于 2013-05-14T19:29:53.540 に答える