gpt4 book ai didi

git - 在预提交 Hook 中使用 git add

转载 作者:太空狗 更新时间:2023-10-29 13:44:53 26 4
gpt4 key购买 nike

长话短说:使用 eslint --fix && git add在预提交 Hook 中有效,但它留下暂存文件而不是暂存文件!使用提交后 Hook git reset <staged-files>似乎可行,但是否有解决方案?

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

git add index.js
git commit -m "Some Message"

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

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

我只有基本的 Git 技能,所以为了尽量减少干扰,我创建了一个没有 lint-staged 的项目或 husky并手动添加了一个预提交 Hook 。然后,我运行了相同的测试(例如 git commit -m "Some Message" index.js),不出所料,同样的问题出现了。为了解决这个问题,我还添加了一个运行 git reset <staged-files> 的提交后 Hook 。这似乎运作良好,但我不确定这是否是正确的解决方案。

如果您有这方面的经验或者您是 Git 大师,请查看 demo repo 如果有更好的方法,请告诉我们。任何帮助将不胜感激。

最佳答案

参见 https://youtrack.jetbrains.com/oauth?state=%2Fissue%2FIDEA-135454

解决方法:添加 git update-index -g 作为提交后 Hook 。

关于git - 在预提交 Hook 中使用 git add,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43691064/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com