将我的代码推送到远程分支并创建 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"
,但不知何故错误又回来了
任何人都可以帮助我了解实际发生的情况以及如何解决它吗?
如果我们无法修复它,有什么办法可以让代码恢复正常吗?
谢谢!
看看屏幕截图上的哈士奇线,您有一个预提交hook在这里运行。
它触发的原因必须在钩子本身中找到,但看起来 linting 过程认为您只更改了空格(在提交之前用
git diff --staged
检查它)。
因此,如果您do只想提交空白更改,但钩子阻止了它,请检查
.git/hooks/pre-commit
并考虑使用-n
作为提交命令(--no-verify
)来提交而不触发钩子。
另一种选择是使用
--allow-empty
,如黄色所示,但不知道你的绒毛钩里到底有什么,很难确定。谁设置了您的存储库/工作流程?这个钩子可能是有原因的,所以一定要和他们讨论这个问题。
我在这篇文章中找到了对该问题的很好解释:https://karuppiah7890.github.io/blog/posts/lint-staged-lint-your-staged-files/ 文章的最后说道: lint-stage 错误指出这是一个空的 git 提交 - 没有任何更改的提交。没有进行任何更改,因为我所做的所有更改都是格式更改,根据 Prettier 的说法,这是错误的,并且它修复了它,并且这样做后,甚至没有任何更改可以提交给 git。 我认为情况与eslint文件的处理类似。