Git 预推送问题没有这样的文件或目录

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

我使用 github for windows 和 git-lfs,将更改提交到已成功完成的本地分支,然后在尝试同步到远程后出现错误。 尝试从 git shell 推送我的更改并出现此错误

错误:无法生成 .git/hooks/pre-push:没有这样的文件或目录
错误:.git/hooks/pre-push 的 waitpid 失败:没有子进程

然后我就推过去了

git推送--无验证

它确实被推送了,但我尝试下载文件,但他们给出了 404 错误。 我提交的任何更改都会产生与预推挂钩相同的错误。

git github git-lfs
5个回答
23
投票

找到解决方案。 删除了 .git/hooks 文件夹中的预推送钩子 再次安装git lfs。问题已解决。


11
投票

运行

git lfs update --force
覆盖损坏的挂钩。


0
投票

就我而言,钩子在窗户中

wsl
,有一个不存在的shebang。使用
ln -s
的符号链接解决了该问题。


0
投票

我必须更改

core.hooksPath
中的目录分隔字符才能消除该错误。

所以例如在

~/.gitconfig
我改变了

[core]
   hooksPath = "C:\\Users\\MyUser\\MyHooks"

[core]
   hooksPath = "//c/Users/MyUser/MyHooks"

0
投票

运行:

git lfs 更新--force

并更新此文件:.husky\pre-push

#!/bin/sh
npm run lint && npm audit && npm test

然后:

git 推送

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