git 忽略匹配模式的文件夹下除文件和文件夹之外的所有内容
git ignore everything except files and folders under those folder matching a pattern
我希望 git ignore 忽略除那些文件和文件夹之外的所有内容,这些文件和文件夹是与给定名称模式匹配的所有文件夹的子文件夹。
示例文件结构:
- .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*/**/*
我希望 git ignore 忽略除那些文件和文件夹之外的所有内容,这些文件和文件夹是与给定名称模式匹配的所有文件夹的子文件夹。
示例文件结构:
- .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*/**/*