预提交工作正常,但 git 提交失败

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

所以在我的项目中,有几个预提交挂钩来确保我们的代码符合团队标准,但每当我尝试提交更改时,总是会出现一个错误,说找不到可执行文件。通常,我首先假设 PATH 环境变量值一定有问题,但这是唯一导致问题的实际 git commit 命令。

yunu@LAPTOP-8FK6RMJ8:/mnt/d/Projects/xyz/idl$ pre-commit
Fix End of Files.........................................................Passed
Trim Trailing Whitespace.................................................Passed
yamllint.............................................(no files to check)Skipped
ensure buf...............................................................Passed
buf check lint...........................................................Passed
buf check breaking.......................................................Passed
yunu@LAPTOP-8FK6RMJ8:/mnt/d/Projects/xyz/idl$ git commit
Fix End of Files.........................................................Passed
Trim Trailing Whitespace.................................................Passed
yamllint.............................................(no files to check)Skipped
ensure buf...............................................................Failed
- hook id: ensure-buf
- exit code: 1

Executable `task` not found

buf check lint...........................................................Failed
- hook id: buf-lint
- exit code: 1

Executable `buf` not found

buf check breaking.......................................................Failed
- hook id: buf-breaking
- exit code: 1

Executable `buf` not found

我可以运行据说在此之后找不到的命令。
我可以看到 bash 可以很好地识别这些命令。

yunu@LAPTOP-8FK6RMJ8:/mnt/d/Projects/xyz/idl$ buf
Usage:
  buf [command]

Available Commands:
  check           Run lint or breaking change checks.
  experimental    Experimental commands. Unstable and will likely change.
  help            Help about any command
  image           Work with Images and FileDescriptorSets.
  ls-files        List all Protobuf files for the input location.
  protoc          High-performance protoc replacement.

Flags:
  -h, --help                help for buf
      --log-format string   The log format [text,color,json]. (default "color")
      --log-level string    The log level [debug,info,warn,error]. (default "info")
      --timeout duration    The duration until timing out. (default 2m0s)
  -v, --version             version for buf

Use "buf [command] --help" for more information about a command.
yunu@LAPTOP-8FK6RMJ8:/mnt/d/Projects/xyz/idl$

那会是什么问题呢? git 命令是否使用自己的不同类型的 PATH?

我在 Windows 10 上的 ubuntu wsl 上运行这个。

git git-commit pre-commit-hook pre-commit.com
2个回答
4
投票

在我删除 .git/hooks/pre-commit 并再次运行 pre-commit install 后它就解决了。现在我可以毫无问题地使用 git commit 命令了。


0
投票

对我来说,我所要做的就是重启 PyCharm

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