问题标签 [git-husky]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
151 浏览

git - .NET Core 解决方案项目和 husky v6 安装

我想将 husky 从 v4 迁移到 v6。正如安装指南中所说:

您可能遇到的另一种情况是您的package.json文件和.git目录不在同一级别。[...]
按照设计,husky install 必须与 .git 在同一目录中运行

所以问题是,在我正在研究的.NET Core.git解决方案中,找不到任何文件夹。我正在使用Visual Studio 2019,所有 git 设置都可以通过 IDE 获得。

有没有人遇到过这种问题或者在类似情况下成功安装了husky v6?

我认为也许可以.git在解决方案中创建目录Web project并将其链接到实际的 git 设置位置,但我无法在任何地方找到它。

提前致谢。

0 投票
1 回答
717 浏览

node.js - 仅为特定文件夹更改运行 Husky 挂钩

当仅更改某个文件夹中的文件时,是否可以仅运行 git 挂钩?

我有后端和前端的 monorepo。我只想在前端的文件发生更改时运行 husky hook。否则它不应该被触发并且不运行 linting 测试等......这会激怒后端开发人员

0 投票
0 回答
255 浏览

husky - 使用 Husky v7 设置的 cz-conventional-changelog-for-jira 无法正常工作

这是我的 .czrc

这是我的 npm 脚本

在我的 husky 钩子文件(prepare-commit-msg,commit-msg)中 .husky/commit-msg npm run commit-msg

.husy/prepare-commit-msg npm run prepare-commit-msg

当我运行 git-commit 时出现以下错误

如果我将 .czrc 更改为

它完美地工作。

0 投票
0 回答
181 浏览

reactjs - “stylelint”发现了一些错误。请修复它们并再次尝试提交

我收到错误消息

Running tasks for **/*.{js,jsx} [failed] Error: No files matching the pattern "<file path>" are found. husky > pre-commit hook failed.

当我尝试提交代码时。如果知道,请告诉我此错误的原因或解决方案。

0 投票
0 回答
295 浏览

git - 由于 linting 错误(husky + lint-staged)导致提交失败时,挂起的 git 更改会丢失

我有一个使用 git 和 Visual Studio Code 的 Angular 应用程序。我设置了 ESLint 并使用 huskylint-staged在预提交挂钩中运行,因此无法提交带有 linting 错误的更改。

当我第一次设置它时,失败提交中的未决更改就会消失,我了解到它们正在被隐藏:https ://stackoverflow.com/a/60335168/11991371 。

我不明白为什么它会默认隐藏我的更改,而不是让我纠正掉毛错误并再次尝试提交。坦率地说,这似乎很奇怪。遇到它的每个开发人员都会感到恐慌。所以我添加了--no-stash标志,所以它不会那样做。

/.husky/预提交:

但现在我偶然发现了另一个问题案例。脚步:

  1. 对文件进行更改并意外留下 linting 错误。
  2. 暂存此文件。
  3. 在同一个文件中进行另一个更改(但不要暂存它)。
  4. 尝试提交分阶段的更改。它将由于 linting 错误而失败,并且第二次更改将丢失

如果您碰巧打开了文件,您可以通过 IDE 中的“撤消”恢复您的更改,但这是一个大问题。 如何防止由于拒绝提交而丢失工作,同时又不会自动隐藏工作?

0 投票
1 回答
95 浏览

angular - 在 Angular 项目提交期间运行 ESLint

我在一个 Angular 项目上配置了 Eslint以在提交期间检查代码。我在测试我的配置是否有效时犯了一个错误:我设置了规则并在代码中"no-console":"error"留下了一个。console.log()

当提交 ESLint 给我这个错误:

我的疑问是我看到 2 行用 ✖ 签名。

它们是指相同的错误(console.log)还是其中之一是指 ESLint 配置问题?

谢谢你的帮助,

0 投票
0 回答
32 浏览

git - 使用 lint-staged 来检查这个提交是否可以构建?

使用 husky 和 ​​lint-staged 时,是否可以检查预提交中的暂存版本?

有点像这样?

如果我尝试这个,即使提交的内容应该构建,我也会收到构建错误,它说它找不到“页面”目录。这是因为它试图仅构建暂存文件吗?

也许我正在尝试做一些不可能的事情。我只是想防止在 CI 构建管道上检查失败的代码。

谢谢 :)

0 投票
1 回答
319 浏览

git - Husky 钩子合并后检查 package.json 是否有任何更改,如果检测到更改则执行 npm install

我想让钩子在合并分支后执行类似运行 NPM 安装的操作,但前提是要修改 package.json 文件

我不确定我是否做得正确,请在下面找到我的合并后

我可以git diff HEAD^ HEAD --exit-code -- ./package.json从 bash 运行,并且echo $?当有变化时显示 1,package.json否则返回 0。

但是,当我将该命令包含在合并后文件中并触发合并后事件时,它会向我显示:

任何人都可以帮我解决这个问题。

0 投票
0 回答
26 浏览

git - Github 桌面返回有关 husky 找不到命令的错误

在此处输入图像描述

我是哈士奇的新手。我可以使用 git 命令和所有命令在 git cmd 中进行提交,但我想为此使用 gitgub 桌面。

我有一个使用"husky": "^7.0.4", 和的应用程序Github desktop Version 2.9.6

我找不到解决方案。我已经看到了一些关于它的 git 问题,但我无法解决它。

https://github.com/desktop/desktop/issues/3701#issuecomment-375905661

https://github.com/typicode/husky/issues/1072

有人发现过这个,可以帮助我吗?

0 投票
1 回答
23 浏览

husky - 添加自动配置格式化不同的文件夹

我有一个具有客户端和服务器的示例 Web 项目,因此在提交任何文件之前,我添加了 husky 以进行格式更改,当我将其添加为脚本时它可以工作,但是当我执行 git add 时。并且 git commit 显示为

我在这里做错了什么。

客户端包.json

服务器包.json

我在这里做错了什么,感谢您的帮助