gitignore all folders under any folder

六眼飞鱼酱① 提交于 2019-12-08 04:16:14

问题


I have this structure:

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

I want git to ignore any folder under versions/**/ (like versions/**/armhf and versions/**/x86_64), but keep tracking the files options and Dockerfile

Any ideas? Thanks!


回答1:


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

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

Add any additional files you need to the excluded list.

Alternatively, add a .gitignore file to each subdirectory that you want to ignore files in. This may provide better flexibility as the project grows.




回答2:


Try this:

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



回答3:


Remember:

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

Ignore files:

 versions/**

But not folders:

 !versions/**/

Then you can exclude some files (because their parent folder are not ignored)

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

Remember:



来源:https://stackoverflow.com/questions/46290325/gitignore-all-folders-under-any-folder

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!