Git推送失败,原因是在Sourcetree上的哈士奇式预推送

Kri*_* CN 9 git atlassian-sourcetree react-native git-husky

推送React本机项目时,由于沙哑的预推失败,我遇到了错误

沙哑>推前挂钩失败(添加--no-verify以绕过)

显示的所有这些错误都是像下面这样的皮棉错误

unused-vars

27:48  error    Trailing spaces not allowed    
                     no-trailing-spaces

75:5   warning  Unexpected console statement   
                     no-console

92:93  error    Unexpected trailing comma   
                        comma-dangle

96:81  error    Unexpected trailing comma
Run Code Online (Sandbox Code Playgroud)

如何在Mac上的Sourcetree应用程序上将其关闭?

Kri*_* CN 10

终于找到了解决方案。问题(即使这不是问题!)是由于react创建的钩子所致。我只是删除了git的hooks文件夹,该文件夹定义了预提交的钩子,因此可以在之后推送。

编辑:当您提供git命令行参数-no-verify或使用Sourcetree的“绕过提交挂钩”设置(在提交消息字段右上角的菜单中)时,也可以跳过挂钩。

  • 您还可以在提供git命令行参数`-no-verify`时跳过钩子,或使用Sourcetree的“绕过提交钩子”设置(在提交消息字段右上角的菜单中) (4认同)

Mwa*_*ovi 7

我认为帮助您理解该husky工具同样重要。
我发现这篇文章对管理这种情况非常有帮助,当我也很挣扎时。

Husky是一个 npm 包,可让您定义与本地 Git 事件(例如提交或推送)相关的 npm 脚本。这有助于在项目中执行协作标准。

在您的项目中,您提到所有错误都与 linting 相关联。
所以在那里,husky编写了脚本来创建一个git hook名为 的pre-push,它会在您成功之前强制执行代码检查git push

在我看来,特别是如果您在团队中工作,请不要关闭/停用这些检查,也不要删除.git/hooks文件夹。而是返回并运行lint script(通常在 中找到package.json),修改所需的更改,然后git push再次成功。


小智 5

将标志添加--no-verify到推送命令的末尾。

git push origin master --no-verify
Run Code Online (Sandbox Code Playgroud)