推荐的 pre-push 钩子¶
如果您想缩短 PR 的周转时间,我建议添加一个 pre-push 钩子:此脚本将在单元测试或代码风格检查失败时停止推送,在它到达 TaskCluster 之前找到错误(TaskCluster 需要花费很长时间来查找日志中的错误)
#!/bin/sh
./gradlew -q \
checkstyle \
ktlint \
pmd \
detektCheck \
app:assembleFocusArmDebug
# Tasks omitted because they take a long time to run:
# - unit test on all variants
# - UI tests
# - lint (compiles all variants)
使用方法
在
<repo>/.git/hooks/pre-push
创建一个包含以下内容的文件(排除“`”):使其可执行:
chmod 755 <repo>/.git/hooks/pre-push
它将在推送之前运行。注意
运行
git push ... --no-verify
以在不进行检查的情况下推送运行大约需要 30 秒。如果您认为此钩子花费的时间太长,可以移除单元测试行,使其几乎立即完成。