![](/img/trans.png)
[英]how to ignore all file and directory except a directory I need by using .gitignore
[英]gitignore ignore all except config.xml file inside second-level directory?
我用谷歌搜索但很難找到合適的解決方案。 如果我有以下文件,如何忽略除這三個文件之外的所有文件?
./
|-- .git/
|-- .gitignore
|-- README.md
|-- config.xml
|-- configuration
|-- package-01/
| |-- settings/
| | |-- id
| | `-- links
| |-- config.xml
| `-- other_files
|-- package-02/
| |-- settings/
| | |-- id
| | `-- links
| |-- config.xml
| `-- other_files
|-- package-03/
| |-- settings/
| | |-- id
| | `-- links
| |-- external_packages/
| | |-- 1/
| | | |-- settings.xml
| | | |-- config.xml
| | | `-- id
| | |-- 2/
| | | |-- settings.xml
| | | |-- config.xml
| | | `-- id
| |-- config.xml
| `-- other_files
我試過了但是失敗了。
*
!.gitignore
!README.md
!/**/*.xml
!**/*.xml
!**.xml
!/*/*.xml
!*/*.xml
排除包含config.xml
的目錄被忽略,然后忽略它們的所有內容但排除每個config.xml
。
/*
!.gitignore
!README.md
!/package-01
/package-01/**
!/package-01/config.xml
!/package-02
/package-02/**
!/package-02/config.xml
!/package-03
/package-03/**
!/package-03/config.xml
正如 ElpieKay 在評論中提到的那樣,您的方法確實存在問題:
如果排除了該文件的父目錄,則無法重新包含該文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.