是否可以不显示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
进行更新。