Gitが管理するファイル構造内の特定のディレクトリのすべてのインスタンスを無視できるかどうかは誰でも知っています。
いくつかのサブモジュールがあるMavenプロジェクトのすべての「ターゲット」フォルダーを除外したいと考えています。トップレベルの.gitignoreでそれらをそれぞれ明示的に除外できることはわかっていますが、**/target/*のようなパターンを指定して、サブディレクトリ内のインスタンスを自動的に無視できるようにしたいのですが?
これは可能ですか?
.gitignore
ファイルでパターンを使用することができます。 gitignore manページ を参照してください。パターン*/target/*
は、targetという名前のディレクトリとその下のすべてのものを無視する必要があります。または、*/target/**
を試して、ターゲットの下のすべてを無視することもできます。
ルートディレクトリの.gitignore
ファイルdoesはすべてのサブディレクトリに適用されます。私のものは次のようになります。
.classpath
.project
.settings/
target/
これは、マルチモジュールMavenプロジェクトです。すべてのサブモジュールは、m2Eclipseを使用して個々のEclipseプロジェクトとしてインポートされます。 .gitignore
ファイルはこれ以上ありません。実際、 gitignore man page を見ると:
パスと同じディレクトリまたは任意の親ディレクトリにある
.gitignore
ファイルから読み取ったパターン…
だからこれはあなたのために働くはずです。
Abhijeetのコメントですでに指摘したように、次のような行を追加できます。
/target/**
to exclude\.git\info\
フォルダー内のファイル。
次に、リモートリポジトリのtarget
フォルダーを削除する場合は、まずローカルリポジトリからこのフォルダーを手動で削除し、コミットしてからプッシュする必要があります。これは、gitが最初に変更されたターゲットフォルダーのコンテンツを表示するためです。
ターゲットフォルダーにあるすべてのクラスをgitから無視します。開いている.gitignoreファイルに次の行を追加します。
/。class
OR
*/ターゲット/**
それは私にとって完璧に機能しています。それを試してみてください。