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

时间:2018-10-11 06:57:16

标签: git react-native atlassian-sourcetree 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

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

4 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:4)

我认为帮助您理解husky工具同样重要。
而且我发现article对于解决这种情况也很有帮助。

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

在您的项目中,您提到所有错误都与棉绒有关。
因此,在其中编写了husky脚本来创建名为git hook的{​​{1}},该脚本在成功完成pre-push之前会强制执行 lint 。 / p>

我认为,尤其是在团队中工作时,请不要关闭/停用这些检查,也不要删除git push文件夹。而是返回并运行.git/hooks(通常在lint script中找到),修改所需的更改,一旦再次package.json,您就会成功。

答案 2 :(得分:0)

在推送命令的末尾添加--no-verify。

git push origin master --no-verify

答案 3 :(得分:-1)

在短期提交结束时添加--no-verify。

我也在Mac上,开始在我的主项目文件夹中实例化的Carlo应用程序上工作时看到了这些。由于不确定不确定赫斯基是什么(未安装“赫斯基”命令),我来到谷歌搜索堆栈溢出,所以我开始四处寻找以寻找lint的短绒棉。

➜  src_aminosee git:(master) ✗ eslint .
Error: Cannot find module '@ljharb/eslint-config'
Referenced from: /Users/tom/Dropbox/Sites/funk.co.nz/aminosee/carlojet/node_modules/array-includes/.eslintrc

这是当我意识到我在这里的git repo里面有一个git repo时(“ carlojet”尝试在“ aminosee”主项目中的文件夹)!我必须(应该)将该文件夹移出。不知道这种类型的嵌套回购问题是否是导致您的问题的原因,但是在如此移动并尝试提交后,我看到:

git commit -am "moved carlojet folder out as i think its git repo conflicted with this main one"
Can't find Husky, skipping pre-commit hook
You can reinstall it using 'npm install husky --save-dev' or delete this hook
Can't find Husky, skipping prepare-commit-msg hook
You can reinstall it using 'npm install husky --save-dev' or delete this hook
Can't find Husky, skipping commit-msg hook
You can reinstall it using 'npm install husky --save-dev' or delete this hook
Can't find Husky, skipping post-commit hook
You can reinstall it using 'npm install husky --save-dev' or delete this hook

我缺乏对git的了解,但对我来说,就像那些文件离开仓库后正在挥舞着“再见”一样;或者更可能是对我“眨眨眼”,从他们在aminosee / carlojet / .git / hooks /

的真实家中翻遍到他们的父母aminosee / .git / hooks /目录(这真是一个惊喜!)

我可能需要禁用从其他项目复制的所有这些钩子……或者最好还是提起那个棉绒!我想在我的情况下将git repo嵌套在内部不是一个好主意。