- 自己总结:
- *.a--匹配任意路径下的.a文件
- a/--匹配任意路径下的a文件夹
- a/*--匹配根目录下的文件夹a下的任意文件(等同于 /a/* 或 /a/) ----一般情况下不会有这种写法
- /a--匹配根目录下的文件a
- /a/--匹配根目录下的文件夹a(等同于 /a/*)
- *--匹配任意字符(零个或多个字符)
- */--匹配任意1个目录
- */--匹配根目录下的任意1个目录(等同于/*/)
- a/*/--匹配a目录下的任意1个目录(等同于 /a/*/)
- a/b/*/--匹配b目录下的任意1个目录(等同于 /a/b/*/)
- **/--匹配任意目录(0个、1个或多个目录;**后面肯定跟着斜杠/,否则等同于独*)
- 如果文件夹a为空目录,则不允许加入版本库
- 就算a曾经加入过版本库,但清空a下的所有文件之后,a也会被移出版本库
- 此时,加入新文件b中,git st时,只会提示a未跟踪,而不会提示b
- 如果要把一个空目录a加入版本库,可以在a下新建一个文件.gitkeep,然后再进行提交
- 问题
- */App_Data/与**/App_Data/,效果不一样?
- 自答:
- */--匹配任意1个目录
- */--匹配根目录下的任意1个目录
- a/*/--匹配a目录下的任意1个目录(注意等同于 /a/*/)
- a/b/*/--匹配b目录下的任意1个目录(注意等同于 /a/b/*/)
- **/--匹配任意目录(0个、1个或多个)
- */App_Data/--匹配根目录下的任意子目录下的App_Data
- 即:只匹配/a/App_Data/,不匹配/App_Data/,也不匹配/a/b/App_Data/
- **/App_Data/--匹配根目录的子孙目录App_Data
- 即:匹配/App_Data/、匹配/a/App_Data/、匹配/a/b/App_Data/
05-07 15:25