2

我有一个钩子,可以在提交消息之前添加 JIRA 票号。我希望能够与团队的其他成员分享它,这就是我使用赫斯基的原因。它在 .git/hooks 中运行良好,但是,在更改文件夹并使用 Husky 调用它之后,我似乎无法让它工作。

我已经查看了其他解决方案,但我不确定如何自己使用它们。我是否需要某种备份文件来执行此操作?如果是这样,我将如何声明?

票号到提交的消息:

#!/bin/bash

# get branch name
branch=$(git symbolic-ref --short HEAD)

# remove ticket text
trimmed=$(echo $branch | sed -e 's:^\([^-]*-[^-]*\)-.*:\1:' -e \
    'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/')

# get ticket name (i.e., MJ-204)
jiraTicket=$(echo $trimmed | cut -f2 -d/ | tr '[:lower:]' '[:upper:]')

echo "Prepending '$jiraTicket' to commit message..."
if [[ ! -z $jiraTicket ]]; then
    # $1 is the name of the file containing the commit message
    sed -i.bak -e "1s/^/$jiraTicket\: /" $1
fi

包.json:

...
"husky": {
    "hooks": {
      "pre-commit": "./git-hooks/ticket-number-to-commit-msg"
    }
  }
...

输出:

➜ git commit -am "should prepend 'MJ-498'"
husky > pre-commit (node v10.15.0)
Prepending 'MJ-498' to commit message...
sed: -i may not be used with stdin
husky > pre-commit hook failed (add --no-verify to bypass)

任何帮助将不胜感激。谢谢你。

4

0 回答 0