8

私のgitリポジトリにpackagesという名前のフォルダがあります.targets拡張子を持つファイルを除いて、そのフォルダ内のすべてを無視したいと思います. 私はgitignoreでこれを試しました:

packages/
!packages/**/*.targets

しかし、うまくいきません。

そのフォルダーを無視し、ターゲット ファイルを無視するにはどうすればよいですか?

4

2 に答える 2

6

これは私にとってはうまくいくようです(Git 1.8.2.1):

packages/**/*.*
!packages/**/*.targets

*.*私はその部分が必要でした。それ以外の場合**は0ディレクトリに一致*し、最後の1つはパッケージ内の任意のディレクトリに一致し、実際にはすべてのディレクトリと内部のファイルを無視します。

*.*それほど悪くないことを願っていますが、拡張子のないファイルを持つことは非常にまれです。

于 2013-07-09T21:12:05.497 に答える
0

うーん。直接 .gitignore ルールを使用することは不可能だと思います。

ただし、これは役立つはずです。

  • .gitignore:

    packages/
    
  • パターン ファイルを追加します。

    git add --force -- $(find packages/ -type f -iname '*.targets')
    

追加を pre-commit フックにして、新しいターゲット ファイルが表示されたときに自動的に取得するようにすることもできます。

特殊文字を含むファイル名を適切にサポートするには:

find packages/ -type f -iname '*.targets' -exec git add --force -- {} +
于 2013-07-09T20:01:55.413 に答える