Git 子目录中的挂钩

Git hooks in sub-directory

我有一个存储库,其中包含不同目录中的多个 React 项目。对于结构

> Repo Root
  > .git
  > CRA Project1
  > CRA Project2

在全局事物的回购根目录中的 .git 中定义了 git 个挂钩。
但是我想专门为每个项目添加挂钩。比如说,运行 自定义 linter 在 CRA Project1 中预先提交,但在 CRA Project2 中没有。

如果已经定义了全局挂钩,我如何为每个项目添加挂钩?

Git 没有子项目的概念。从 Git 的角度来看,顶部有 .git/ 存储库的整个工作树只是一个项目,在 .git/hooks/.

中有一组挂钩

也就是说,您可以在全局挂钩的帮助下自己实现子项目挂钩。 .git/hooks/ 中的每个挂钩必须确定它是在全局 branches/commits/files 上还是在子项目上 运行 并且对于子项目它调用子项目挂钩。