是否可以检查 grunt 处理的所有文件的 'git status'?
Is it possible to check the 'git status' of all the files processed by grunt?
假设我有一个包含多个文件的项目(例如 .html
、.js
、.css
、.cs
等)。这些文件随 grunt
一起发布,它从我输入的 src/
个文件中创建了一个 build/
文件夹。
在此过程中,它并没有包含我所有的 src
文件,它还更改了一些文件的名称(例如 .min.js
和 .min.css
)。
输入文件的列表在任务中用 src
参数指定,重命名是用 ext
参数完成的。
这很酷,有关要包含在发行版中的文件的所有信息都在 grunt
文件中。
但是是否可以自动检查输入文件是否也被添加到 git?
几个月来发布了数百个版本,后来发现我忘记在第一次发布时向 git 添加一个重要文件,这将是非常令人沮丧的。
这意味着之前存储在 git
中的所有 snapshots
都不完整。
我知道一些自动化 Jenkins
测试可能会有所帮助,但这些测试可能应该包含另一个独立创建的文件列表。这将是一个很好的第二次检查,但情况不会更容易。
Grunt 知道发布所需的所有源文件,并且可以在发布期间进行许多检查。
如果 grunt 可以在 运行 他们的任务之前执行 git status
并且它可以在应用任务之前应用 source filter
来检查 git 中文件的存在,那就太好了。
创建一个 grunt 任务,或者执行一个 git 命令行也是一个解决方案,但恐怕我需要列出我所有的 src
列表和 ext
再次为此解决方案设置参数。
注意:为了开发,我也使用 Windows 和 Linux。
我创建了一个脚本,它可以完成对我来说很重要的一切。
但是,我不是一个大 Windows 脚本专家,所以我不得不将它分成两部分。
第一行必须在 PowerShell 中执行,其他行可以从标准 cmd 启动 window。
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
有人有更简单的单脚本解决方案吗?
假设我有一个包含多个文件的项目(例如 .html
、.js
、.css
、.cs
等)。这些文件随 grunt
一起发布,它从我输入的 src/
个文件中创建了一个 build/
文件夹。
在此过程中,它并没有包含我所有的 src
文件,它还更改了一些文件的名称(例如 .min.js
和 .min.css
)。
输入文件的列表在任务中用 src
参数指定,重命名是用 ext
参数完成的。
这很酷,有关要包含在发行版中的文件的所有信息都在 grunt
文件中。
但是是否可以自动检查输入文件是否也被添加到 git?
几个月来发布了数百个版本,后来发现我忘记在第一次发布时向 git 添加一个重要文件,这将是非常令人沮丧的。
这意味着之前存储在 git
中的所有 snapshots
都不完整。
我知道一些自动化 Jenkins
测试可能会有所帮助,但这些测试可能应该包含另一个独立创建的文件列表。这将是一个很好的第二次检查,但情况不会更容易。
Grunt 知道发布所需的所有源文件,并且可以在发布期间进行许多检查。
如果 grunt 可以在 运行 他们的任务之前执行 git status
并且它可以在应用任务之前应用 source filter
来检查 git 中文件的存在,那就太好了。
创建一个 grunt 任务,或者执行一个 git 命令行也是一个解决方案,但恐怕我需要列出我所有的 src
列表和 ext
再次为此解决方案设置参数。
注意:为了开发,我也使用 Windows 和 Linux。
我创建了一个脚本,它可以完成对我来说很重要的一切。 但是,我不是一个大 Windows 脚本专家,所以我不得不将它分成两部分。
第一行必须在 PowerShell 中执行,其他行可以从标准 cmd 启动 window。
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
有人有更简单的单脚本解决方案吗?