首页 > 解决方案 > 仅在使用 Git Diff 更改的文件上运行 TSLint

问题描述

我只想tslint在拉取请求中修改的文件上运行,而不是在整个项目上运行。

git diff --name-only develop -- *.ts成功打印出功能分支和开发之间已更改的文件名。

我正在尝试将该命令传送到我的 lint 命令中。Lint 可以通过将文件名放在后面来获取要运行的文件列表,而不是运行所有文件:

git diff --name-only develop -- *.ts | npm run lint

这适用于我们的 Jenkins 盒子,但在我的本地 Windows 机器上,没有文本附加到 lint 命令的末尾。

C:\code>git diff --name-only develop-- *.ts | npm 运行 lint

tslint -c .\tslint.json -p .\tsconfig.json

是否有一种简单的单行方法只对分支中更改的文件运行 lint?

标签: gittslint

解决方案


我通过运行获得了修改文件的列表

git diff --name-only --diff-filter=ACMR origin/dev-123...develop -- *.ts

origin/dev-123源分支在哪里develop,目的地在哪里。

我将该命令的输出放入一个数组中,然后针对文件数组运行 linter。


推荐阅读