我正在做一个Swift项目。Git用于版本控制。我只想对新更改的文件运行swiftlint工具。换句话说,我只想检查那些在上次提交前被编辑过的文件的静态问题。如果可能的话,我将在Build phase -> Run script中添加脚本,这样每个开发人员都可以只找到他们正在处理的文件的静态问题。这可能吗?
swiftlint
Build phase -> Run script
qvk1mo1f1#
在构建阶段-运行脚本中添加下面的命令会很有帮助。下面的代码将适用于暂存文件
git diff --cached --name-only | grep "\.swift" | while read filename; do swiftlint lint --path "$filename"; done
对于未暂存的文件,需要删除--cached参数
--cached
git diff --name-only | grep "\.swift" | while read filename; do swiftlint lint --path "$filename"; done
sqxo8psd2#
您不必遍历这些项:
swiftlint lint --path $(git diff HEAD --name-only | grep "\.swift")
另外,git diff HEAD提供了暂存和未暂存文件。
git diff HEAD
2条答案
按热度按时间qvk1mo1f1#
在构建阶段-运行脚本中添加下面的命令会很有帮助。
下面的代码将适用于暂存文件
对于未暂存的文件,需要删除
--cached
参数sqxo8psd2#
您不必遍历这些项:
另外,
git diff HEAD
提供了暂存和未暂存文件。