仅允许.gitignore

时间:2016-06-20 10:06:37

标签: git gitignore

我有一些NuGet包,我需要推送构建目录中的一些文件,问题是VisualStudio的github默认gitignore忽略了packages目录中的所有子目录。

/packages/SomePackage/build/ <-- Allow
/packages/SomePackage/OtherDirectory/ <-- Ignore
/packages/OtherPackage/AnotherDirectory/ <-- Ignore

在.gitignore我有这个:

**/packages/*
!**/packages/**/build/ 

但它没有用。

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:1)

出于某种原因,我还不清楚,你必须按照以下顺序忽略包下的所有内容,除了构建目录下的内容:

packages/*
!packages/d1/
packages/d1/*
!packages/d1/build/

这是受到gitignore手册页中的例子的启发。另请注意,Git已经跟踪的文件不受影响!要停止跟踪当前跟踪的文件,请使用git rm --cached

更新:也许这就是答案(引自gitignore手册页):

  

如果是,则无法重新包含文件              排除该文件的父目录。