git Husky:无法生成,husky/commit-msg:没有这样的文件或目录

7qhs6swi  于 2023-06-04  发布在  Git
关注(0)|答案(1)|浏览(1011)

我已经和哈士奇一起工作了好几年了。我们开始了一个新的项目,并确定要添加husky来进行预提交和commit-msg linting。但这一次我们在windows机器上遇到了一些问题。
我们在项目中使用Mac配置了哈士奇。当我们添加一个新的开发谁拥有一个windows机器,有在提交错误.
我们有

  • 预提交
  • 提交消息

.husky/pre-commit

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged

.husky/commit-msg

#!/bin/sh
echo $(dirname "$0")
. "$(dirname "$0")/_/husky.sh"

npx --no-install commitlint --edit $1

.husky/_/husky.sh

#!/usr/bin/env sh
if [ -z "$husky_skip_init" ]; then
  debug () {
    if [ "$HUSKY_DEBUG" = "1" ]; then
      echo "husky (debug) - $1"
    fi
  }

  readonly hook_name="$(basename -- "$0")"
  debug "starting $hook_name..."

  if [ "$HUSKY" = "0" ]; then
    debug "HUSKY env variable is set to 0, skipping hook"
    exit 0
  fi

  if [ -f ~/.huskyrc ]; then
    debug "sourcing ~/.huskyrc"
    . ~/.huskyrc
  fi

  readonly husky_skip_init=1
  export husky_skip_init
  sh -e "$0" "$@"
  exitCode="$?"

  if [ $exitCode != 0 ]; then
    echo "husky - $hook_name hook exited with code $exitCode (error)"
  fi

  if [ $exitCode = 127 ]; then
    echo "husky - command not found in PATH=$PATH"
  fi

  exit $exitCode
fi

.husky文件夹中的文件。预提交文件工作正常,没有任何问题。但是我们在commit-msg的情况下得到以下错误

error: cannot spawn .husky/commit-msg: No such file or directory

它甚至没有被调用。
有人遇到过这个问题吗?有什么办法解决这个问题吗?

**注意:请不要建议使用--no-verify,因为它与我们试图实现的相反。

kb5ga3dv

kb5ga3dv1#

我花了两天时间来解决这个问题。解决办法很简单。
解决方案:

删除了.husky/commit-msg中开头的空行。

相关问题