Git 钩上 Ubuntu 坏了

Git hook on Ubuntu broken

我最近从某人那里得到了一个 git 钩子,旨在将问题编号添加到所有提交的开头,该问题编号位于分支名称的特定位置。目标是从 feature/#number-issue 中获取 #number。这是一些信息:

➜  .githooks pwd
/home/luctia/.githooks
➜  .githooks git config --global --list
user.name=luctia
user.email=myemail
core.hookspath=/home/luctia/.githooks
➜  .githooks cat commit-msg 
#!/bin/sh

WI=$(git status --branch | grep -iPo "(feature|bug)\/#\d+" | head -1)
WI=$(echo "($WI)" | grep -Po "\d+")

if [[ ! -z "$WI" ]]; then
    WI="#$WI"
    CM=$(cat "")
    if [[ ! $CM == *"$WI "* ]]; then
        echo "$WI $CM" > ""
    fi
fi

不过这似乎不起作用。该脚本对每个用户都是可执行的,所以这不是问题。我已经尝试从 sh 切换到 bash,并且通过该编辑我在 repo 中的文件上执行了脚本,它将数字添加到文件的开头,所以我知道它有效.我不确定 git 钩子是否可以执行 bash 文件,但是我使用 shbash 并没有什么区别,尽管我想知道如果可以 运行 bash 脚本。

我现在正在为我的 IDE 使用 Webstorm,它在那里不起作用,它在 CLI git 上也不起作用。我不知道如何进行。

编辑:我很确定脚本没有被执行。当我将 data > /tmp/hook 添加到脚本时,没有文件出现。不过,我确实必须从 sh 更改为 bash

问题是我试图在现有的 .git 目录下对已有的项目进行这项工作。我以为用 --global 标志更改配置就可以了,但显然项目的 .git 目录中的配置没有改变,旧的 hookspath 仍然存在。当我更改它时,脚本开始工作。