簡體   English   中英

gitignore 忽略二級目錄中除 config.xml 文件以外的所有文件?

[英]gitignore ignore all except config.xml file inside second-level directory?

我用谷歌搜索但很難找到合適的解決方案。 如果我有以下文件,如何忽略除這三個文件之外的所有文件?

  1. package-01/config.xml
  2. package-02/config.xml
  3. package-03/config.xml
./
|-- .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 在評論中提到的那樣,您的方法確實存在問題:

如果排除了該文件的父目錄,則無法重新包含該文件。

(參見https://git-scm.com/docs/gitignore

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM