繁体   English   中英

Visual Studio 2019 git 预提交钩子忽略 perl 命令

[英]Visual studio 2019 git pre-commit hook is ignoring perl command

我为我的项目创建了预提交挂钩。 如果我通过命令行或 Git Extensions GUI 提交更改,它工作正常。 但是,如果我通过 Visual Studio 提交我的更改,由于某种原因 perl 命令会以某种方式被忽略,什么也不做,并且 output 文件是相同的。

如果它与我的正则表达式匹配,我正在尝试删除.json 文件中的一些行。 这是我在预提交挂钩中使用的脚本。

for file in $(git diff --cached --name-only)
do
    if [[ $file == "path/to/my/file"* ]]; then
        file="./${file}"
        perl -i -pne 'BEGIN {undef $/} s/^\s*"id":.*?\r?\n//img' $file
        perl -i -pne 'BEGIN {undef $/} s/,(\s*})/$1/isg' $file
        git add $file
    fi
done

似乎 Visual Studio 有自己的 Git 实现,它没有 perl 命令,所以它被忽略了。 有两种可能的解决方案:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM