Prettier 使用 pre-commit(.com) 不会重新暂存更改

2024-02-14

我开始使用 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(使用前将#替换为@)

Prettier 使用 pre-commit(.com) 不会重新暂存更改 的相关文章

  • commitlint无效 commit-msg不执行

    一 安装commitlint yarn add commitlint config conventional commitlint cli D 二 commitlint无效 commit msg不执行 解决办法 1 删除package js
  • 如何使用 SharpSVN 访问预提交挂钩中的文件信息

    总的来说 我对 SharpSVN 和 SVN 很陌生 我正在尝试实现一个预提交挂钩 当用户提交某种类型的 XML 文件时 在允许提交文件之前 我需要拦截该文件并对其进行分析 以确保它们包含某些元素 由于 SVN 似乎提交了两个参数 存储库路
  • 如何防止在分离的 HEAD 中提交

    为什么 git 允许你提交一个独立的头 是否有任何预提交挂钩可以禁用它 什么目的 许多新开发人员都会这样做 我想找到一种方法来禁用它 这只能通过本地 git 来防止pre commithook 因此开发人员需要创建它 添加your loca
  • Prettier.js 方法关于换行格式的参数

    我正在运行 Prettier js VSCode 插件 prettier eslint cli 它将超过 80 个字符限制的方法参数格式化如下 将每个参数放在新行中 someMethod argumentOne argumentTwo ar
  • ESLint 和 Prettier 冲突,无法为代码块禁用 Prettier

    我们的项目使用 Prettier 和 ESLint 通常它们可以很好地协同工作 但我们遇到了两者发生冲突的问题 我不知道为什么 我不知道如何修复它 并且我无法禁用该行的 prettier 因为我收到错误 我们设置的相关部分 prettier
  • prettier 配置错误,prettier 不起作用

    我在更漂亮时遇到了错误 怎么解决这个问题 https i stack imgur com gTMp9 png 看起来 无论出于何种原因 在它要查找的位置 即根文件夹 中都没有 Prettier 的配置文件 我会检查是否 prettierrc
  • 使用预提交排除运行黑屏时的一些文件

    我想在预提交中配置黑色 并从检查任何迁移文件夹中排除预提交 我的 pyproject toml 看起来像这样 tool black line length 79 target version py37 include pyi exclude
  • 检查提交消息中的特定字符串 - SVN Precommit Hook

    我期望 svn 提交消息中出现以下格式 描述 更改的一些描述 实体 变更请求编号 如果提交时的注释不遵循上述格式 则应抛出错误消息 这个想法是检查提交消息中的关键字符串 Description 和 Entity 我还在检查消息中是否存在评论
  • Prettier + Airbnb 的 ESLint 配置

    最近 我开始使用 Visual Studio Code 作为我的编辑器 并发现了 Prettier JavaScript 格式化程序 我认为这是一个很棒的插件 因为它可以帮助我让我的代码看起来很漂亮 我设置了 Airbnb 的 ESLint
  • 在 VS Code 中,我收到此错误“无法加载模块”。尝试从 package.json 加载 prettier'

    当我使用 VS Code 并打开项目时 我在右下角收到此通知 Failed to load module If you have prettier or plugins referenced in package json ensure y
  • Git 添加预提交钩子而不是提交的暂存文件

    我编写了一个预提交挂钩来编译我的项目并将生成的文件添加到提交中 这是一个 JavaScript 项目 我使用的是 husky 但我也尝试过编辑 git hooks pre commit 但该文件没有添加到提交中 如果我取消提交 我可以看到文
  • 如何禁用
     块的 Prettier 以便保留新行(换行符)?				
    			

    prettier config js module exports arrowParens always bracketSpacing true endOfLine auto printWidth 180 semi true singleQ
  • Prettier 使用 pre-commit(.com) 不会重新暂存更改

    我开始使用 Prettier eslint 使用pretty quick husky option 2 https prettier io docs en precommit html 它的行为符合预期 即在提交 或修改 期间重新格式化代码
  • python -m 用于预提交

    pip3 install pre commit gt 已安装 我都试过了python3 m pre commit version and pre commit version 它说找不到模块 我正在使用 Pycharm 并从 Github
  • Prettier 弄乱了 jsx 片段

    function App return lt gt lt Navbar gt lt Users gt gt 按 ctrl 将更改保存到 function App return lt gt lt Navbar gt lt Users gt l
  • Prettier VSCode JSON 格式错误 - SyntaxError: ';'预期的

    Prettier VSCode JSON 格式错误 我正在尝试格式化JSON文件输入VS Code using Prettier但是 我尚未成功格式化任何 JSON 文件 我使用 Google 搜索解决方案 但无法返回任何有用的搜索结果 我
  • 指定在 git commit --no-verify 上跳过哪个钩子

    如果有办法准确指定哪个git hook使用时跳过 no verify 或者除了 no verify来完成这个 也许只是一个只能跳过的标志pre commit 我有两个经常使用的钩子 pre commit and commit msg pre
  • Prettier 不在 React 项目工作

    我正在将我的爱彼迎 eslint 规则迁移到更漂亮的规则 但我遇到了一些问题 这是我的 eslintrc parserOptions ecmaVersion 6 env browser true node true parser babel
  • 对象中最后一行后的尾随逗号

    我在 VS Code 中使用 Prettier 我注意到 当使用保存格式时 Prettier 每次都会在对象的最后一行添加尾随逗号 例如 假设我有一个像这样的 JS 对象 obj hello hello world world Pretti
  • “仅”在暂存文件上运行 eslint

    我正在尝试使用预提交挂钩在提交发生之前检测 eslint 错误 我正在使用哈士奇和 lint staged 但它对 src 中的所有文件运行 lint 命令 而不仅仅是对暂存文件运行 lint 命令 这是我的 package json 文件

随机推荐