使用Husky,我设置了package.json
一个 precommit 钩子,以便在每次提交之前使用Prettier格式化我的 JavaScript 代码:
{
"name": "prettier-demo",
"scripts": {
"precommit": "prettier --write **/*.js && git add ."
},
"devDependencies": {
"husky": "^0.14.3",
"prettier": "^1.8.2"
}
}
这很好用,但有两个缺点:
如果我有一个包含数千个 JavaScript 文件的大型项目,我必须等待 Prettier 处理所有这些文件,即使只有少数发生了变化;这可能需要很长时间,并且在每次提交完成后都会很快让我感到紧张
有时我只想暂存几个文件以进行提交,而将其他更改排除在提交之外;因为我
git add .
在运行 Prettier 之后做了一个,所以我所有的更改总是会在提交中结束
如何在每次提交之前仅在已暂存的文件上运行Prettier,而忽略未暂存或未更改的文件?