VSCode 本地 git 挂钩

VSCode local git hooks

我有一个位于 monorepo 中的项目。这个 monorepo 被许多不同类型的项目共享。我在这个 monorepo 中有一个带有 NPM 的 React 项目。

我们正在使用 VSCode 来开发这个 repo,因为确实有很多人(专家和非专家)接触过代码,我想让这个过程尽可能简单以防止出现问题为了每一个。例如,运行 npm install 如果 package.json 文件已更改。

由于它是一个 monorepo,因此不允许任何人为特定的子项目创建 git 挂钩。所以我搜索了一个不会影响其他项目的“本地git hooks”的解决方案

由于我们正在使用 VSCode 并打开其中的根 project 目录,是否有任何方法可以在 VSCode?例如,如果有人 运行 git pull 在 VSCode 之后 VSCode 会像 hook 一样执行附加命令吗?

我们遇到过类似的情况,最终使用了 Husky in conjunction with Yarn Workspaces

它对我们来说效果很好 - 每个开发人员唯一需要知道的是在克隆后 运行 yarn,所有工具都将被安装。

在您的情况下,唯一需要注意的是您需要编写自己的钩子,例如运行ning npm install 如果拉取的提交包含 package.json 更改,但这不应该很难做到 - husky 挂钩毕竟是普通的 bash 脚本.