You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取git status输出中未跟踪文件及目录的对应路径?

获取git status未跟踪板块路径的方法

Git默认git status的输出是面向人阅读的,格式可能随版本、配置调整,推荐用Git提供的机器友好输出格式来解析,不会出现匹配异常。


方法1:输出和git status未跟踪板块完全一致的路径(未跟踪目录不展开)

你示例中git status未跟踪板块直接展示未跟踪目录名、未展开内部文件,用以下命令即可直接拿到对应结果:

git status --porcelain | awk '/^?? / {print $2}'

命令说明

  • git status --porcelain:输出固定格式的状态结果,所有未跟踪路径的行都会以?? 开头
  • 后面的awk语句负责过滤未跟踪行,提取第二列的路径内容

在你给出的测试场景中,执行后输出结果为:

untracked-directory/
untracked-file.txt

和git status未跟踪板块列出的路径完全一致。


方法2:展开未跟踪目录,输出所有未跟踪的单个文件路径

如果你需要获取所有未跟踪的单个文件(而非合并显示未跟踪目录),可以使用专门的ls-files命令:

git ls-files --others --exclude-standard

这个命令会自动排除.gitignore规则忽略的文件,只输出实际未被Git跟踪的文件路径,你的测试场景下执行后输出为:

untracked-directory/untracked-file-1-in-untracked-directory.txt
untracked-directory/untracked-file-2-in-untracked-directory.txt
untracked-file.txt

内容的提问来源于stack exchange,提问作者slartar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 20:27:03