簡體   English   中英

.gitignore 忽略與某些頂級子目錄關聯的嵌套子目錄中具有某些擴展名的文件之外的所有內容

[英].gitignore to ignore everything aside from files with certain extensions in nested subdirectories associated with some top level subdirectories

我希望 git 忽略所有文件,除了那些在特定子目錄中某處埋有幾個不同擴展名的文件。

例如,假設我有一個包含以下子目錄的目錄:

subdir1
subdir2
subdir3
subdir4
subdir5
...

每個子目錄包含任意數量的嵌套子目錄。 擴展名為.txt.pdf的文件可能存在於其中一些嵌套子目錄中。 我想讓 repo 只跟蹤subdir2subdir3中某處的.txt.pdf文件,而沒有其他文件。

請解釋為什么您的解決方案有效。

如果您想忽略所有文件,希望目錄subdir2/subdir3/中的所有.pdf.txt文件,請將以下內容添加到gitignore

# Ignore everything
*
!*/

# But not these files
!.gitignore
!subdir2/**/*.pdf
!subdir2/**/*.txt
!subdir3/**/*.pdf
!subdir3/**/*.txt

subdir/**匹配任何subdir/目錄及其所有子目錄中的所有文件目錄 ! 否定后面的模式。 因此,您可以忽略所需目錄中的.pdf.txt文件以外的所有文件。

文件夾結構如下:

|-- folder
    |-- .git
    |-- .gitignore
    |-- subdir1/
        |-- <folder content>
    |-- subdir2/
        |-- <folder content>
    |-- subdir3/
        |-- <folder content>
    |-- subdir4/
        |-- <folder content>
    |-- subdir5/
        |-- <folder content>

暫無
暫無

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

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