.gitignore NuGet排除软件包/包括软件包/repositories.config


89

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

\packages/*
!packages/repositories.config

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

packages/
!packages/repositories.config

这将忽略packages文件夹中的所有内容,并且不包括packages / repositories.config。

我究竟做错了什么?

Answers:


114
/packages/
!packages/repositories.config

您也可以.gitignore在packages文件夹中添加一个:

*
!repositories.config
!.gitignore

12
如果忽略自身,那是一种耻辱.gitignore。+1
Thomas

2
第一个块对我不起作用(git版本1.8.4.msysgit.0)。我认为第一行应该packages没有星星。
Grant Birchmeier

1
我发现Visual Studio仍显示packages文件夹。我必须ms-persist.xml.git文件夹中删除.gitignore文件才能得到尊重。有关更多信息,请参见ericnelson.wordpress.com/2014/06/21/…
rudivonstaden 2015年

我不知道您尝试过哪个版本,但/packages/对我没有用。相反,我发现这个答案很有帮助。总之packages/*,把戏。Git版本2.6.1
Stelios Adamantidis

36

我遇到了同样的问题。

以上解决方案均不适用于我。而且我认为维护多个.ignore文件不是一个好的解决方案。

这就是我解决的方法。

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

组合两个星号将匹配任何文件夹字符串。我以为省略星号会有相同的效果,但显然我(我们)错了,因为它似乎不起作用。

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


2
这是唯一对我有用的变体,因为我在存储库中有多个项目,每个项目中都有packages文件夹。谢谢。
Michael Logutov 2015年

1
效果很好的一个是推荐的Visual Studio官方模板+取消最后一行的注释。
vezenkov

1
这实际上有点冒险。它会忽略任何名为“ packages”的文件夹,而不仅仅是解决方案级别的文件夹。我发现为时已晚,我的某些模型类从未包含在存储库中。
Rich

2
现在已更新:#NuGet Packages .nu​​pkg#由于Package Restore ** / packages /#除了build /(用作MSBuild目标)外,可以忽略packages文件夹。!** / packages / build /#如有必要,请取消注释,但通常会在需要时重新生成#!** / packages / repositories.config#NuGet v3的project.json文件生成更多可忽略的文件* .nuget.props * .nuget。目标
Daniel Ryan

!**/packages/build/对于给定的解决方案,这对我不起作用...未提交构建文件夹
JobaDiniz


8

我发现此简单模式有效。

/packages/*/

它应该忽略根软件包目录中的所有目录,但要在其中包含所有文件。不知道除了repositories.config之外还有哪些其他文件,或者不确定是否应将它们包括在存储库中。

另请参阅.gitignore语法:bin vs bin / vs. bin / * vs. bin / **


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.