588

私の.Netソリューションには多くのプロジェクトがあります。すべての「bin/Debug」および「bin/Release」フォルダー (およびその内容) を除外したいのですが、「bin」フォルダー自体とそこに含まれる dll は引き続き含めます。

.gitignore「bin/」を使用すると、「Debug」および「Release」フォルダーが無視されますが、「bin」フォルダーに含まれるすべてのdllも無視されます。

bin/Debugまたは、無視パターンを完全に修飾しない限りbin/Release、ファイル内のディレクトリを除外しません。これは、ソリューションの各プロジェクトにこの完全なパターンを含める必要があるため、やりたくありません。プロジェクトが追加されました。.gitignoreSolution/Project/bin/Debug

助言がありますか?

4

12 に答える 12

744

ワイルドカードを試しましたか?

Solution/*/bin/Debug
Solution/*/bin/Release

バージョン 1.8.2 の git では、**ワイルドカードを使用して任意のレベルのサブディレクトリに一致させることもできます。

**/bin/Debug/
**/bin/Release/
于 2010-03-30T13:52:04.690 に答える
142

トップレベルで.gitignoreを使用して、同じ名前のプロジェクト内のすべてのディレクトリを無視できます。例えば:

Debug/
Release/

これはすぐに更新されるので、gitstatusを実行したときに表示されます。これらのディレクトリがまだgitに追加されていないことを確認してください。これにより、無視が上書きされます。

于 2010-03-30T14:59:00.317 に答える
79

上記の回答はすべて有効ですが、言及されていないと思うのは、そのディレクトリからファイルをレポに追加すると、そのファイルを含むそのディレクトリ/サブディレクトリを無視できないということです (git はそのディレクティブを無視します) )。

既に追加されたファイルを無視するには、実行します

$ git rm -r --cached

それ以外の場合は、最初にリポジトリのターゲット ディレクトリからすべてのファイルを削除する必要があります。その後、そのフォルダーを無視できます。

于 2015-03-08T04:14:27.353 に答える
75

質問は、すべてのサブディレクトリを無視することについて尋ねているわけではありませんが、答えがどこにも見つからなかったので、投稿します: */*.

于 2013-04-24T03:49:43.203 に答える
36

正しいエントリを .gitignore ファイルに入れるだけでなく、リポジトリに既に追加されているものを無視しようとしている場合はgit rm -r /path/to/dir、ディレクトリを .gitignore ファイルに追加する前にそれを実行してコミットする必要があります。それ以外の場合、git が無視するのは、ignore ディレクティブだけです。

于 2016-03-07T19:29:33.030 に答える
30

これを自分のマシンで機能させる唯一の方法は、次のようにすることでした。

# Ignore all directories, and all sub-directories, and it's contents:
*/*

#Now ignore all files in the current directory 
#(This fails to ignore files without a ".", for example 
#'file.txt' works, but 
#'file' doesn't):
/*.*

#Only Include these specific directories and subdirectories:
!wordpress/
!wordpress/*/
!wordpress/*/wp-content/
!wordpress/*/wp-content/themes/

含める各レベルのコンテンツを明示的に許可する必要があることに注意してください。したがって、テーマの下に 5 深さのサブディレクトリがある場合でも、それを詳しく説明する必要があります。

これは、@ Yarin のコメントからのものです: https://stackoverflow.com/a/5250314/1696153

これらは有用なトピックでした:

私も試しました

*
*/*
**/**

**/wp-content/themes/**

また/wp-content/themes/**/*

それも私にとってはうまくいきませんでした。試行錯誤の連続!

于 2015-04-29T23:28:15.387 に答える
13

すべてのサブディレクトリを無視するには、次を使用できます。

**/

これは、git のバージョン 1.8.2 以降で機能します。

于 2016-11-01T15:34:57.110 に答える
10

ディレクトリ内のファイルを追跡しながら、すべてのサブフォルダーを無視する一般的な方法は/bin、プロジェクトの .gitignore ファイルに次の行を追加することです。

bin/*/*

特定の名前付きサブフォルダーのみを無視する場合は、次のようにします。

bin/Debug/*
bin/Release/*

注意してください。ディレクトリがプロジェクトのルートにない場合bin(.gitignoreファイルと一緒に)、代わりに. bin/*/*あなたが必要かもしれませんpath/to/bin/*/*

于 2016-02-15T17:28:54.327 に答える