#2369·go-git

Status(): 由 X/** 所匹配的目录已从遍历中剔除,因此 !X/keep 将永远不再包含该目录(在 70ab8844 中出现回退)

作者: KaizenShogun创建于 2026年9月9日更新于 2026年9月15日

工作树 状态( ) 报告一个文件, 当其目录匹配 QQ/ QQ 时被忽略, 而后面的规则 重新包含该文件 。 我测试过的每个版本的图案配对都正确,所以这是行走,而不是`吉蒂格诺尔'。

被分解为-70ab8844- ("工作树:在状态行走时跳过被忽略的目录",#2048,2026-05-04). 其父母89091499'同意git;70ab8844'不同意;今天的主'(8372f31')仍然不同意。

  • 重现

嘘 mkdir -p t/容积/功能 → cd t → git init -q 数量/功能/**\n! 数量/功能/deno.json*\n" >.gitignore 触摸卷/功能/热量.jsonsample卷/功能/otro.txt

git 状态 -- -- 瓷 -- -- 已忽略

... 吉蒂格诺尔

      • 册子 *

#! 音量/功能/ otro.txt < -- 只有otro.txt被忽略 !


`git check-ignore -v'同意,按规则:

卷/函数/分数.jsonsample - >.gitignore:2:! 卷/函数/分数.json * (NOT被忽略) 卷/函数/otro.txt - >.gitignore:1:卷/函数/**(已忽略)


通过去got,打开工作树并读出`现状()',`deno.jsonsample',报告为**没有被跟踪**,即被忽略:

通过`Status()' `deno.jsonsample' +`otro.txt' +`
|.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * *** **************
|v5.19.2|没有被忽略✔被忽略|.
`89091499 ' (犯罪父母)`没有忽视'`被忽略'`
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我被你抛弃了 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我被你抛弃了
* `主'`8372f31 ' 被忽略* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

`gitignore. NewMatcher(读取标签(...)). match([]string{"卷""函数""deno.jsonsample")},假的"返回'假'——正确——在 * 四 *上,包括"主". 只有`现状() ' 行走者不同意,这就是为什么模式测试没有抓住它的原因。

(为什么会发生)

当火柴人称它为被忽略时,行走者会打出一个目录,对于 " 量/功能 " ,火柴人会说`真'——因为`幸福地与所剩的空地相匹配'。 `git check-ignore supposes/unctions/' 说同样的话(`.gitignore:1: supposes/unctions/**`')。 但是,Git自己的行走并不将这一点视为停止下降的理由:QQ/QX排除了X的*内涵*,而后起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起 询问“匹配( dir, true) ” , 并在答题上浏览“ 此目录的内容被排除” , 加上“ 内部没有任何内容可以重新包含 ” 。

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}承诺也解决了镜像案 所以请不要把它还给我

同样的形状,但目录本身被排除在外(`X/`/**`/**`/)——这里的git确实拒绝降入,而再入则已死:

嘘
打印出“ 数量/ 功能/\n! 数量/ 功能/ deno.json*\n” >. gitignore
git 状态 -- -- 瓷 -- -- 已忽略
# ! 卷/ < - 下面的一切都被忽略了, 否定无法伸入

通过Status() ' 的deno.jsonsample'版本 |-|-|-. QQ git( 引用) QQ被忽略 QQ \v5.19.2\x没有忽略\x 89091499 ' 没有忽视`` 70ab8844',main' |被忽略 |

因此,70ab8844 ' 将一个错误的家庭换成另一个:它使Q'正确而且 . . . . . . .