set 是 javascript 中用于管理 git 变动文件路径的高效内存容器,通过解析 git status --porcelain -z 等命令输出提取并去重路径,再驱动 add、lint、构建等操作。

核心思路是:把 Git 命令的输出(例如 git status --porcelain 或 git diff --name-only)解析为文件路径,存入 Set 去重和管理;再用这个 Set 驱动后续操作(比如批量添加、生成清单、触发构建等)。
获取变动文件路径并存入 Set
通过子进程执行 Git 命令,捕获输出并按行解析:
-
git status --porcelain输出格式稳定,适合机器解析(M file.js、A src/index.ts等) - 用正则或空格分割提取路径(注意处理带空格的路径需用
--z+
