gitが管理するファイル構造内の特定のディレクトリのすべてのインスタンスを無視できるかどうかは誰でも知っています。
多くのサブモジュールを持つMavenプロジェクトのすべての「ターゲット」フォルダーを除外しようとしています。トップレベルの.gitignoreでそれらのそれぞれを明示的に除外できることはわかっていますが、実際に** / target / *のようなパターンを指定して、サブディレクトリのインスタンスを自動的に無視できるようにしたいですか?
これは可能ですか?
gitが管理するファイル構造内の特定のディレクトリのすべてのインスタンスを無視できるかどうかは誰でも知っています。
多くのサブモジュールを持つMavenプロジェクトのすべての「ターゲット」フォルダーを除外しようとしています。トップレベルの.gitignoreでそれらのそれぞれを明示的に除外できることはわかっていますが、実際に** / target / *のようなパターンを指定して、サブディレクトリのインスタンスを自動的に無視できるようにしたいですか?
これは可能ですか?
回答:
.gitignoreファイルでパターンを使用することができます。gitignoreのmanページを参照してください。パターンで*/target/*は、targetという名前のディレクトリとその下のディレクトリはすべて無視する必要があります。または*/target/**、ターゲットの下のすべてを無視しようとする可能性があります。
/target/**\.git\info\excludeよくファイルで動作します。
.gitignoreルートディレクトリにファイルがないすべてのサブディレクトリに適用されます。鉱山は次のようになります。
.classpath
.project
.settings/
target/
これはマルチモジュールのmavenプロジェクトです。すべてのサブモジュールは、m2eclipseを使用して個々のEclipseプロジェクトとしてインポートされます。これ以上.gitignoreファイルはありません。実際、gitignoreのmanページを見ると:
.gitignoreパスと同じディレクトリまたは任意の親ディレクトリにあるファイルから読み取られたパターン…
したがって、これでうまくいくはずです。
src/main/java/org/example/game/archery/bow/LongBow.java とsrc/main/java/org/example/game/archery/target/Target.java、そのような.gitignore設定でLongBowをヒットするものは何も見つかりません:
すべての望ましくないファイルから、gitignoreに次の行を追加します
/target/
*/target/**
**/META-INF/
!.mvn/wrapper/maven-wrapper.jar
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/build/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/