git - lint-staged:“git add”命令的目的是什么
问题描述
最近我开始引入lint-staged
我的前端构建工具链。当我检查有关它的文档时,我总是发现它的工作原理如下:
"husky": {
"hooks": {
"pre-commit": "lint-staged"
},
"lint-staged": {
"src/**/*.{js,jsx,ts,tsx,json,css}": [
"prettier --write",
"eslint --fix src/",
"tslint --fix --project .",
"git add"
]
},
您可以在链接中找到更多类似的用法:https ://github.com/okonet/lint-staged
我的困惑点是最后一个命令git add
,它的目的是什么?
我的理解是lint-staged
只验证暂存区 after git add
和 before中的代码git commit
。所以无法理解为什么我们需要再添加一个git add
。
解决方案
你不需要git add
,因为 lint-staged 10
从 v10.0.0 开始,对原始暂存文件的任何新修改都将自动添加到提交中。如果您的任务之前包含一个
git add
步骤,请删除它。自动行为确保了较少的竞争条件,因为尝试同时运行多个 git 操作通常会导致错误。
推荐阅读
- mysql - 错误 1062:故障转移后从站上的重复条目
- c# - double.Parse(123.342) System.FormatException: '输入字符串的格式不正确。'
- android - 将视频添加到图库
- visual-studio - 缺少 Visual Studio Clickonce 特定目标选项卡
- python - Python:可选参数,错误的默认值
- python - 有什么方法可以获取 selenium web 元素的 xpath 吗?
- sql-server - 仅在具有 3 个或更多结果的项目时显示
- c# - 如何在 RabbitMQ 中向外部发送确认(消费者)?
- flutter - Flutter:在浮动操作按钮中使用 appBar 小部件而不是 appBar?
- c++ - 当前的草案是否允许形成一个重载集,该集由两个非静态成员声明组成,其中一个具有引用限定符