我用Guard用Rspec; 我用focus: true它来强制它只运行我正在进行的测试.但有时我会忘记删除focus: true,这会让我未来的自我和与之合作的人分心.
我想创建一个git钩子来检查spec文件夹,以确保focus: true除了测试文件之外没有,spec/rails_helper.rb并将其保存在Repository中.
我已经阅读了这个答案将git钩子放入存储库,猜测它必须有点尴尬.
如何使用钩子来阻止基于文件内容的提交?
更新
这是我现在拥有的,但它不起作用,即使没有匹配,git拒绝提交.
FILES_PATTERN='\.rb(\..+)?$'
FORBIDDEN="(\, focus: true|binding\.pry)"
git diff --cached --name-only | egrep "$FILES_PATTERN" | xargs egrep --with-filename -n "$FORBIDDEN" && echo "Commit reject, found $FORBIDDEN reference, please remove" && exit 1
exit 0
Run Code Online (Sandbox Code Playgroud) git ×1