gitignore保留特定后綴的文件,包括子文件夾中的


我希望在一個文件夾中只追蹤.cfg文件,無論它是在根目錄還是子目錄。

我們知道gitignore規則的一種寫法是:

*
!*.txt

這樣代表忽略所有文件,但是不忽略txt文件,但是這樣實操發現,只有根目錄的txt會被追蹤,子目錄的還是會被忽略。

首先要介紹一條git的規則:

  1. 如果一個文件的父文件夾已經被忽略,那么這個文件無法被重新包含
    這句話的英文是

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

我的例子是在一個文件夾中有多層子文件夾,子文件夾中可能會有.cfg文件,我要追蹤所有.cfg文件,排除剩下的所有文件。

# 忽略所有文件
*
# 但是不要忽略文件夾和子文件夾
!/**/
# 不要忽略所有cfg文件
!*.cfg

這樣,在包含所有cfg文件之前,先恢復所有子目錄,這樣子目錄下的cfg文件就可以恢復。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM