1

git hooks 的想法是防止提交错误的源代码。我husky用于此目的。这是我的设置:

"husky": {
  "hooks": {
    "pre-commit": "ng lint --fix=true"
  }
}

如果存在 lint 错误,它会阻止提交。这是场景:

  1. 开发人员编写了错误的代码(例如x==y应该x===y从 lint 的角度来看)
  2. 他使用这些命令:git add .并且git commit -m "msg here"失败了。因为 lint 失败了。
  3. 他更正了源代码。但他没有再做git add .一次,而是使用了这个命令git commit -m "msg here":这次 lint 没有失败,因为在源代码中一切都很好,并且ng lint成功了。但实际上,他正在提交之前添加的先前版本。

知道如何防止这种情况吗?

4

1 回答 1

1

lint-staged就是你要找的。

它只会对暂存文件进行 lint,这非常有效。

这意味着它将迫使您示例中的开发人员在lint-staged接受修复之前先进行修复。

把它放在你的package.json文件中:

{ 
   ...
   "devDependencies": {
       "lint-staged": "^10.5.1",
       ...
   }
   ...
   "husky": {
       "hooks": {
           "pre-commit": "lint-staged"
        }
    }
   ...
}
于 2020-12-08T17:03:05.273 回答