gitignore任何文件夹下的所有文件夹

时间:2017-09-19 01:16:00

标签: git directory gitignore

我有这个结构:

versions
├── library-3.1
│   ├── Dockerfile
│   ├── options
│   └── armhf
│       ├── Dockerfile
│       └── rootfs.tar.xz
├── library-3.6
│   ├── Dockerfile
│   ├── options
│   └── x86_64
│       ├── Dockerfile
│       └── rootfs.tar.xz
...

我希望git忽略versions/**/下的任何文件夹(例如versions/**/armhfversions/**/x86_64),但要跟踪文件optionsDockerfile

有什么想法吗?谢谢!

3 个答案:

答案 0 :(得分:0)

# Ignore everything under 'versions/'...
versions/*

# ...except 'options' and 'Dockerfile'
!versions/**/options
!versions/**/Dockerfile

将您需要的任何其他文件添加到排除列表中。

或者,将 .gitignore 文件添加到要忽略文件的每个子目录中。这可以在项目增长时提供更好的灵活性。

答案 1 :(得分:0)

试试这个:

!versions/**/Dockerfile
!version/**/options

答案 2 :(得分:0)

记住:

It is not possible to re-include a file if a parent directory of that file is excluded.

忽略文件:

 versions/**

但不是文件夹:

 !versions/**/

然后你可以排除一些文件(因为它们的父文件夹不被忽略)

 !versions/**/Dockerfile
 !versions/**/option

记住: