1

我有一棵树:

- bower_components
  - jquery
    - .bower.json
    - jquery.js
    - ...
  - underscore
    - .bower.json
    - underscore.js
    - ...
  - ...

我想忽略文件中的所有内容bower_components/.bower.json所以我写了这样的.gitignore

bower_components/**/*
!bower_components/**/.bower.json

根据 gitignore man git 应该忽略子目录中的所有内容,bower_components.bower.json它不会。我不知道我做错了什么,我尝试了不同的组合,包括!.bower.json但没有运气。

git check-ignore bower_components/jquery/.bower.json -v给我:

.gitignore:1:bower_components/**/*      bower_components/jquery/.bower.json

ls bower_components/**/.bower.json给我.bower.json文件列表。

我有一个测试树可以玩:nocorp.me/32430Z3J1o2k

4

3 回答 3

1

也许这是一个错误,也许不是,但我不得不使用单星号而不是双星号:

bower_components/*/*
!bower_components/*/.bower.json
于 2013-11-08T21:09:01.773 回答
0

我认为你不想在这种情况下使用双星。

!**/.bower.json
bower_components/*
于 2013-11-08T20:05:40.030 回答
0

我不确定您是否属于这种情况,但 ** 是在 1.8.2 中添加的,因此如果您使用任何较旧的东西,它将无法正常工作

git --version
于 2013-11-08T20:11:47.817 回答