如何解决这个空的 git 提交警告?

问题描述 投票:0回答:2

将我的代码推送到远程分支并创建 PR 后。我想对我的代码进行更多更改,然后再次提交到远程分支

首先,我开始执行以下步骤:

git add .
git commit -m "Remove semicolons, change to multi line returns"`

但是提交后就出现了:

我检查了状态并取消暂存所有添加的文件

git status
git restore --stage .

-> 然后我再次添加并提交,错误仍然存在。

之后,我撤消提交并拉动分支以重新开始

git reset HEAD^
git pull

完成对代码的更改后,我运行

git diff
查看我所做的更改。 最后我运行了
git add .
&
git commit -m "Recommit message"
,但不知何故错误又回来了


任何人都可以帮助我了解实际发生的情况以及如何解决它吗?

如果我们无法修复它,有什么办法可以让代码恢复正常吗?

谢谢!

git husky lint-staged
2个回答
22
投票

看看屏幕截图上的哈士奇线,您有一个预提交hook在这里运行。

它触发的原因必须在钩子本身中找到,但看起来 linting 过程认为您只更改了空格(在提交之前用

git diff --staged
检查它)。

因此,如果您do只想提交空白更改,但钩子阻止了它,请检查

.git/hooks/pre-commit
并考虑使用
-n
作为提交命令(
--no-verify
)来提交而不触发钩子。

另一种选择是使用

--allow-empty
,如黄色所示,但不知道你的绒毛钩里到底有什么,很难确定。谁设置了您的存储库/工作流程?这个钩子可能是有原因的,所以一定要和他们讨论这个问题。


0
投票

我在这篇文章中找到了对该问题的很好解释:https://karuppiah7890.github.io/blog/posts/lint-staged-lint-your-staged-files/ 文章的最后说道: lint-stage 错误指出这是一个空的 git 提交 - 没有任何更改的提交。没有进行任何更改,因为我所做的所有更改都是格式更改,根据 Prettier 的说法,这是错误的,并且它修复了它,并且这样做后,甚至没有任何更改可以提交给 git。 我认为情况与eslint文件的处理类似。

© www.soinside.com 2019 - 2024. All rights reserved.