文件夹结构:的.gitignore目录/通配符意外行为
.git/
<some git stuff>
.gitignore
level1/
level2/
file1
file2
的文件.gitignore
,file1
和file2
都是空的。我运行git add .gitignore
和git commit -m "create empty .gitignore"
。
如果.gitignore
不能为空,然后git status
输出(如预期)git add -A
:
new file: level1/level2/file1
new file: level1/level2/file2
所以,我git reset
开始测试变化的结果向.gitignore
(假设我这样做的每一个之间以下更改.gitignore
)
如果.gitignore
包含任一level1
,level1/
,level1/*
,level2
,或level2/
,然后git add -A
其次git status
输出(如预期):
modified: .gitignore
但是,如果.gitignore
包含level2/*
,然后git add -A
其次git status
输出:
modified: .gitignore
new file: level1/level2/file1
new file: level1/level2/file2
为什么不level2/*
具有相同在这种情况下效果为level2/
?另外,虽然level2/*
不是做我想要的,**/level2/*
确实。