所以在运行之前git commit我经常运行以下内容:
git grep --cached -l -I "debugger"
Run Code Online (Sandbox Code Playgroud)
我认为它类似于:
git diff --cached
Run Code Online (Sandbox Code Playgroud)
(它将显示您即将提交的所有更改,即将显示您的暂存文件中的差异).
不幸的是,我刚刚发现这个--cached选项git grep只是告诉git"只"查看其索引中的所有内容.
那么我怎样才能运行git grep并让它只通过我的分阶段文件?
(是的,我知道我可以简单地进行git diff --cached搜索,但我宁愿拥有编程能力来浏览我的分段文件.)
我理想的情况是自动缩小CSS文件并将它们添加到git commit中.我不确定下面的#4是否可以完成,但我希望执行以下流程:
如果有另一种方式,我也会对此感兴趣.
到目前为止我所拥有的是什么
#!/bin/sh
php_syntax_check()
{
retval=0
for i in $(git-diff-index --name-only --cached HEAD -- | grep -e '\.php$'); do
if [ -f $i ]; then
output=$(php -l $i)
retval=$?
if [ $retval -gt 0 ]; then
echo "=============================================================================="
echo "Unstaging $i for the commit due to the follow parse errors"
echo "$output"
git reset -q HEAD $i
fi
fi
done
if [ $retval -gt 0 ]; then
exit $retval
fi
}
php_syntax_check
Run Code Online (Sandbox Code Playgroud)