是否可以检查grunt处理的所有文件的“ git状态”?

时间:2019-09-29 00:35:59

标签: git gruntjs

假设我有一个包含多个文件的项目(例如.html.js.css.cs等)。这些文件以grunt发行,这会从我的输入build/文件创建一个src/文件夹。

在此过程中,它不包含我所有的src文件,并且还更改了某些文件的名称(例如,更改为.min.js.min.css)。 在任务中使用src参数指定输入文件的列表,并使用ext参数重命名。 太酷了,有关要包含在版本中的文件的所有信息都在grunt文件中。

但是是否可以自动检查输入文件是否也添加到git中?

几个月后要发布数百个版本,然后弄清楚我忘了在第一个版本的git中添加一个重要文件,这会非常令人沮丧。 这意味着snapshots中存储的所有先前git都不完整。

我知道一些自动化的Jenkins测试会有所帮助,但是这些测试可能应该包含另一个独立创建的文件列表。这将是一个很好的第二次检查,但情况并不会更简单。

Grunt知道发行所需的有关源文件的所有信息,并且可以在发行期间进行许多检查。 如果grunt可以在运行任务之前执行git status,并且可以在应用任务之前应用source filter来检查git中文件的存在,那就很好了。

创建艰巨的任务或执行git命令行也是一种解决方案,但是我担心我需要为此解决方案再次列出所有src列表和ext参数

注意:对于开发,我也使用Windows和Linux。

1 个答案:

答案 0 :(得分:1)

我创建了一个脚本,该脚本对我来说很重要。 但是,我不是Windows脚本专家,所以我不得不将其分为两部分。

第一行必须在PowerShell中执行,其他行可以从标准cmd窗口开始。

REM PowerShell:
REM grunt -v | findstr /R '^Reading' | %{$_ -replace '^Reading','@git status -s'} | %{$_ -replace '...OK$',''} | Out-File git_check.bat ASCII

git_check.bat
del git_check.bat

临时批处理脚本git_check.bat的示例输出:

w:\Project>git_check.bat
?? src/js/output_SUSPEND.js
?? src/js/3rdparty/lz-string.js
?? src/img/ajax-loader.gif

有人有一个简单的单脚本解决方案吗?