微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用pre-commit.com进行更漂亮的设置不会重新分段更改

如何解决使用pre-commit.com进行更漂亮的设置不会重新分段更改

我开始使用pretty-quickhuskyoption 2)使用Prettier + eslint。它的行为符合预期,即在提交(或修改)期间重新格式化代码,并包括提交中的更改。

我的monorepo需要(几个)更多的预提交钩子,因此我最终迁移到pre-commit.com(选项3)。现在,当我提交或修改时,Prettier会修改文件并返回Failed状态。这样会产生一个非常烦人的工作流程,在该工作流程中,我被迫添加文件并尝试再次提交更改。

作为提交的一部分,是否有一些方法可以重新安排更改?

解决方法

有意预提交,切勿触摸暂存区域。默默地更改正在执行的操作很危险。该工具始终为您提供在提交之前验证钩子功能的机会

您可以在问题跟踪器中了解更多相关信息:

如果您要从臀部开火,我的建议是立即运行git add -u && !! -这将暂存更改的文件并重新运行您刚运行的命令

如果您想冒险进入不受支持的地区,则可以将其作为命令的一部分运行(如其中一个问题所示)-但这巧妙地破坏了该工具具有的许多保证

  - id: yapf
    entry: bash -c 'yapf "$@"; git add -u' --

免责声明:我是预先提交的作者

,

我确定我的哥哥,即Pre-commit的创建者会确认这一点,但这是pre-commit的预期行为。它应该会失败,因为它直接修改了您的文件。实际上,我为Prettier使用了这种精确的设置,虽然很烦人,但这只是您必须更改的事情之一。我喜欢做一个叫做'format'之类的git commit -m,然后是一个实际更改的提交。

编辑:在我无法回答之前,他就me了我一眼,他的回答更深入了

,

假设你明白上面给出的理由不要盲目地这样做,我想分享a simple rule script我为美妙的fuck而写的,它会自动更新暂存区并重试提交命令.

所以,用法如下:

$ git commit -m "..."
[pre-commit modifies some files and abort the commit]
$ fuck

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。