.gitignore NuGet排除packages / include packages / repositories.config

时间:2012-05-28 04:27:00

标签: git nuget gitignore

我正在尝试为使用NuGet的Visual Studio项目创建.gitignore。它目前包含:

\packages/*
!packages/repositories.config

这不会忽略文件夹中的任何内容。一切都在添加上演。我也尝试过:

packages/
!packages/repositories.config

这会忽略packages文件夹中的所有内容,但不包含packages / repositories.config。

我做错了什么?

6 个答案:

答案 0 :(得分:112)

/packages/
!packages/repositories.config

您还可以在packages文件夹中添加.gitignore

*
!repositories.config
!.gitignore

答案 1 :(得分:32)

我遇到了同样的问题。

以上解决方案均不适合我。我认为维护多个.ignore文件是一个糟糕的解决方案。

这就是我解决它的方式。

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

组合两个星号将匹配任何文件夹字符串。我认为遗漏星号会产生同样的效果,但显然我(我们)错了,因为它似乎没有用。

官方.gitignore template for Visual Studio建议采用以下解决方案:

# 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文件: - )

答案 2 :(得分:11)

这适合我。

#NuGet
packages
!packages/repositories.config

(与@manojlds's answer相同,只是删除了第一行中的星号。这对我不起作用。)

答案 3 :(得分:8)

我发现这个简单的模式有效。

/packages/*/

它应该忽略根目录包目录中的所有目录,但包括那里的所有文件。不确定除了repositories.config之外的其他文件可能会出现在那里,还是应该包含在存储库中。

另见.gitignore Syntax: bin vs bin/ vs. bin/* vs. bin/**

答案 4 :(得分:0)

仅对我而言这有效:

**/packages/**

答案 5 :(得分:0)

如果您想对 ALL NUGET Temp 工件

正确执行此操作

将此代码添加到您的 .gitignore


<块引用>
# Ignore all my NuGet temp Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets