web-dev-qa-db-ja.com

.gitignore NuGet exclude packages / include packages / repositories.config

NuGetを使用するVisual Studioプロジェクトの.gitignoreを作成しようとしています。現在含まれているもの:

\packages/*
!packages/repositories.config

これは、フォルダー内の何も無視しません。すべてが追加でステージングされます。私も試しました:

packages/
!packages/repositories.config

これにより、パッケージフォルダー内のすべてが無視され、packages/repositories.configは含まれません。

私は何を間違えていますか?

85
Dipesh
/packages/
!packages/repositories.config

パッケージフォルダーに.gitignoreを追加することもできます。

*
!repositories.config
!.gitignore
112
manojlds

私は同じ問題に直面しました。

上記の解決策はどれも私にとってはうまくいきませんでした。そして、複数の.ignoreファイルを維持するのは貧弱なソリューションだと思います。

これは私がそれを解決した方法です。

**/packages/*
!**/packages/repositories.config

2つのアスタリスクを組み合わせると、フォルダーの任意の文字列に一致します。アスタリスクを省略すると同じ効果があると思いましたが、どうやらうまくいかないようで、明らかに私(私たち)は間違っていました。

公式の Visual Studioの.gitignoreテンプレート では、次のソリューションを推奨しています。

# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config

編集: https://www.gitignore.io を使用して、お気に入りのプロジェクトの.ignoreファイルを生成できます:-)

33
Ali Reza Dehdar

これは私のために動作します。

#NuGet
packages
!packages/repositories.config

@ manojlds's answer と同じですが、最初の行の星を削除したことを除きます。それは私にとってはうまくいきませんでした。)

11

この単純なパターンが機能することがわかりました。

/packages/*/

ルートパッケージディレクトリ内のすべてのディレクトリを無視する必要がありますが、そこにすべてのファイルが含まれます。 repositories.config以外のファイルがそこに表示されるかどうか、またはリポジトリに含める必要があるかどうかがわかりません。

。gitignore構文:bin vs bin/vs. bin/* vs. bin/**

8
ygoe