是否可以不显示git状态特定文件夹中的更改?

是否可以不显示git状态特定文件夹中的更改?,git,git-status,Git,Git Status,情况就是这样,比如说我想跟踪**/data中的文件,但不想查看它们的状态(因为文件太多,我通常不关心其中的细节),是否可能 如果能给我一条简短的信息(没有更多的细节)就更好了,如下所示 在./a/data中创建新文件/ 已删除。/b/数据中的文件/ 在./c/data中修改文件/ ... 这要求太高了吗 提前谢谢 可以提供列出文件所需的功能 您也可能会发现uzsedful。我还没有尝试过,但是您可以使用pathspec功能来限制结果 git-help-status在我的机器上显示一个带有

情况就是这样,比如说我想跟踪
**/data
中的文件,但不想查看它们的状态(因为文件太多,我通常不关心其中的细节),是否可能


如果能给我一条简短的信息(没有更多的细节)就更好了,如下所示

在./a/data中创建新文件/
已删除。/b/数据中的文件/
在./c/data中修改文件/
...
这要求太高了吗

提前谢谢

可以提供列出文件所需的功能


您也可能会发现uzsedful。

我还没有尝试过,但是您可以使用pathspec功能来限制结果

git-help-status
在我的机器上显示一个带有

git status [<options>…​] [--] [<pathspec>…​]
git状态[…​] [--] […​]
其中pathspec文档显示:

pathspec

用于限制Git命令中的路径的模式

PathSpec用于命令行“git ls files”、“git ls tree”、“git add”、“git grep”、“git diff”、“git checkout”,以及许多其他命令,以将操作范围限制在树或工作树的某些子集。有关路径是相对于当前目录还是相对于顶层的信息,请参阅每个命令的文档。pathspec语法如下所示:

任何路径都匹配自身

最后一个斜杠之前的路径规范表示目录前缀。该路径规范的范围仅限于该子树

pathspec的其余部分是路径名其余部分的模式。相对于目录前缀的路径将使用fnmatch(3)与该模式匹配;特别是,*和?可以匹配目录分隔符

例如,Documentation/*.jpg将匹配Documentation子树中的所有.jpg文件,包括Documentation/chapter_1/figure_1.jpg

以冒号:开头的pathspec具有特殊含义。在缩写形式中,前导冒号:后跟零个或多个“魔术签名”字母(可选地以另一个冒号结尾:),其余为与路径匹配的模式。“魔术签名”由既不是字母数字、glob、regex特殊字符也不是冒号的ASCII符号组成。如果模式以不属于“magic signature”符号集且不是冒号的字符开头,则可以省略终止“magic signature”的可选冒号

在长格式中,前导冒号:后面是一个开括号(,一个由零个或多个“神奇单词”组成的逗号分隔列表,以及一个右括号),其余的是与路径匹配的模式

只有冒号的pathspec表示“没有pathspec”。此表单不应与其他pathspec组合

顶部 magic word top(magic signature:/)使模式从工作树的根匹配,即使是在子目录中运行命令

文字 模式中的通配符,如*或?被视为文字字符

icase 不区分大小写的匹配

glob Git将模式视为一个shell glob,适合fnmatch(3)使用,带有FNM_路径名标志:模式中的通配符与路径名中的/不匹配。例如,“Documentation/*.html”匹配“Documentation/Git.html”,但不匹配“Documentation/ppc/ppc.html”或“tools/perf/Documentation/perf.html”

与完整路径名匹配的模式中的两个连续星号(“**”)可能具有特殊含义:

前导“**”后跟斜杠表示在所有目录中都匹配。例如,***/foo”匹配文件或目录“foo”的任何位置,与模式“foo”相同。*/foo/bar“>匹配目录“foo”下的任何位置的文件或目录“bar”

尾随“/**”匹配目录中的所有内容。例如,“abc/**”匹配目录“abc”中相对于.gitignore文件位置的所有文件,深度无限

斜杠后跟两个连续的星号,然后斜杠匹配零个或多个目录。例如,“A/**/b”匹配“A/b”、“A/x/b”、“A/x/y/b”等

其他连续的星号被视为无效

globmagic与literal magic不兼容

attr

attr:后面是一个空格分隔的“属性要求”列表, 必须满足所有这些条件,才能将路径视为 匹配;这是对通常的非魔法pathspec模式的补充 匹配。请参见gitattributes(5)

路径的每个属性要求采用以下形式之一:

“ATTR”要求设置属性ATTR

“-ATTR”要求取消设置属性ATTR

“ATTR=VALUE”要求将属性ATTR设置为字符串值

“!ATTR”要求未指定属性ATTR

请注意,在与树对象进行匹配时,属性仍然是从工作树中获得的,而不是从给定的树对象中获得的

排除 路径与任何非排除路径规范匹配后,将在所有排除路径规范(魔术签名:!或其同义词^)中运行该路径。如果路径匹配,则忽略该路径。如果没有非排除路径规范,则将排除应用于结果集,就像在没有任何路径规范的情况下调用一样


谢谢,我认为
git status':(exclude,top)**/data/*./
对我的案例有效!谢谢,我看到
git ls files--exclude='***/data'
将排除数据中的文件,但我不确定它为什么不在跟踪文件夹中列出新文件。为了快速参考,
git status':(exclude,top)**/数据/*'。/
可以禁止从
***/data
进行更新。