在预提交钩子中使用git add

在预提交钩子中使用git add,git,eslint,post-commit,pre-commit,Git,Eslint,Post Commit,Pre Commit,TL;DR:在预提交钩子中使用eslint--fix&&git add可以工作,但它会保留暂存文件和非暂存文件!使用post-commit钩子进行git-reset似乎可行,但有解决方案吗? 为了提供一些背景知识,我开始使用lint staged和husky自动修复git commit上的JavaScript lint错误。如果您先暂存更改,然后提交,这将非常有效,例如: git add index.js git commit -m "Some Message" IntelliJ IDEA似乎

TL;DR:在预提交钩子中使用
eslint--fix
&&git add可以工作,但它会保留暂存文件和非暂存文件!使用post-commit钩子进行git-reset似乎可行,但有解决方案吗?

为了提供一些背景知识,我开始使用
lint staged
husky
自动修复
git commit
上的JavaScript lint错误。如果您先暂存更改,然后提交,这将非常有效,例如:

git add index.js
git commit -m "Some Message"
IntelliJ IDEA似乎可以直接提交文件(例如,
git commit-m“Some Message”index.js
),但仍然有效,自动修复的文件会提交不幸的是,它还留下了一个暂存文件(自动修复)和一个未暂存文件(原始lint错误),这就是我想要解决的问题。

不知道从哪里开始,我用
lint staged
打开了,但经过一些调查,问题似乎与Git有关,而不是
lint staged

我只有基本的Git技能,所以为了尽量减少分心,我创建了一个没有
lint staged
husky
的项目,并手动添加了一个预提交挂钩。然后我运行了相同的测试(例如,
git commit-m“Some Message”index.js
),毫不奇怪同样的问题出现了。为了解决这个问题,我还添加了一个post-commit钩子,该钩子运行
git-reset
,看起来运行得很好,但我不确定它是否是正确的解决方案

如果您有这方面的经验,或者您是Git大师,请查看,让我们知道是否有更好的方法。任何帮助都将不胜感激。

请参阅


解决方法:添加
git更新索引-g
作为postcommithook。

有完全相同的问题。你找到什么了吗Samuel?不,似乎不可能(