我有一个钩子,可以在提交消息之前添加 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)
任何帮助将不胜感激。谢谢你。