我开始使用 Prettier + eslint 使用pretty-quick
& husky
(option 2 https://prettier.io/docs/en/precommit.html)。它的行为符合预期,即在提交(或修改)期间重新格式化代码并包含提交中的更改。
我的 monorepo 需要(几个)更多的预提交钩子,所以我最终迁移到预提交.com http://pre-commit.com(选项 3)。现在,当我提交或修改时,Prettier 会修改文件并返回Failed
地位。这造成了一个相当烦人的工作流程,我被迫添加文件并尝试再次提交更改。
有什么方法可以将更改重新暂存为提交的一部分吗?
预提交故意不触及暂存区域。默默地改变正在发生的事情是危险的。该工具总是让您有机会在提交之前验证挂钩的作用
您可以在问题跟踪器中阅读有关此内容的更多信息:
- https://github.com/pre-commit/pre-commit/issues/532 https://github.com/pre-commit/pre-commit/issues/532
- https://github.com/pre-commit/pre-commit/issues/747 https://github.com/pre-commit/pre-commit/issues/747
- https://github.com/pre-commit/pre-commit/issues/806 https://github.com/pre-commit/pre-commit/issues/806
- https://github.com/pre-commit/pre-commit/issues/879 https://github.com/pre-commit/pre-commit/issues/879
- ... 还有很多
如果你想从臀部开火,我的建议是跑步git add -u && !!
之后立即 - 这将暂存更改的文件并重新运行您刚刚运行的命令
如果您想冒险进入不受支持的领域,您可以将其作为命令的一部分运行(如其中一个问题所示)——但这巧妙地破坏了该工具所具有的许多保证
- id: yapf
entry: bash -c 'yapf "$@"; git add -u' --
免责声明:我是预提交的作者
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)