我使用 github for windows 和 git-lfs,将更改提交到已成功完成的本地分支,然后在尝试同步到远程后出现错误。 尝试从 git shell 推送我的更改并出现此错误
错误:无法生成 .git/hooks/pre-push:没有这样的文件或目录
错误:.git/hooks/pre-push 的 waitpid 失败:没有子进程
然后我就推过去了
git推送--无验证
它确实被推送了,但我尝试下载文件,但他们给出了 404 错误。 我提交的任何更改都会产生与预推挂钩相同的错误。
找到解决方案。 删除了 .git/hooks 文件夹中的预推送钩子 再次安装git lfs。问题已解决。
运行
git lfs update --force
覆盖损坏的挂钩。
就我而言,钩子在窗户中
wsl
,有一个不存在的shebang。使用 ln -s
的符号链接解决了该问题。
我必须更改
core.hooksPath
中的目录分隔字符才能消除该错误。
所以例如在
~/.gitconfig
我改变了
[core]
hooksPath = "C:\\Users\\MyUser\\MyHooks"
到
[core]
hooksPath = "//c/Users/MyUser/MyHooks"
运行:
git lfs 更新--force
并更新此文件:.husky\pre-push
#!/bin/sh
npm run lint && npm audit && npm test
然后:
git 推送