git忽略除这些文件夹下的文件和文件夹以外的所有内容以匹配模式

  • 本文关键字:文件夹 模式 文件 git git gitignore
  • 更新时间 :
  • 英文 :


我希望git忽略忽略所有内容,除了那些是与给定名称模式匹配的所有文件夹的子文件夹外的所有文件。

示例文件结构:

 - .temp
 - stuff/
 - readme.txt
 - crap/pattern/more/stuff
 - crap/pattern/.temp
 - crap/pattern_test/
 - crap/more/pattern_test/

我想实现的目标是:

/*
/*/
!.gitignore
!*/pattern*/*

因此,从最重要的示例中,我希望git不要忽略:

 - crap/pattern/*
 - crap/pattern/more/*
 - crap/pattern/more/stuff/*
 - crap/pattern_test/*
 - crap/more/pattern_test/*

可能吗?我尝试了很多模式而没有任何成功:

!/pattern*/*
!/pattern*/
!*/pattern*/*
!*/pattern/*
...

您可以设置.gitignore文件:

# Ignore everything by default
*
# Whitelist the .gitignore file
!.gitignore
# Whitelist folders at any level
!**/*/
# Whitelist every file under folders that match the pattern at any level
!/**/pattern*/**/* 

最新更新