相关疑难解决方法(0)

Git挂钩拒绝文件包含特定字符串的提交

我用GuardRspec; 我用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

8
推荐指数
2
解决办法
2437
查看次数

标签 统计

git ×1