基于这个问题我做了一个 git hookprepare-commit-msg
#!/bin/sh
#
# Automatically adds branch name and branch description to every commit message.
#
NAME=$(git branch | grep '*' | sed 's/* //')
DESCRIPTION=$(git config branch."$NAME".description)
echo "[$NAME]"': '$(cat "$1") > "$1"
if [ -n "$DESCRIPTION" ]
then
echo "" >> "$1"
echo $DESCRIPTION >> "$1"
fi
Run Code Online (Sandbox Code Playgroud)
它在简单的提交上工作得很好。示例 -[issue14020]: some text message如果在 issues14020 分支中进行提交。
但后来我做了一个变基,我收到了这样的消息[(no branch)]: [issue14020]: some text message。有什么办法可以跳过这个“无分支”部分吗?
如果你最终处于无头状态,你会在 rebase 提交上得到“(无分支)”。
如果您处于无头模式,则不要git branch使用它来获取当前分支名称,而是使用NAME=$(git rev-parse --abbrev-ref HEAD)它将返回当前分支或“HEAD”。
重新编写您的脚本,这将变为:
NAME=$(git rev-parse --abbrev-ref HEAD);
if [ "$NAME" != 'HEAD' ] ; then
DESCRIPTION=$(git config branch."$NAME".description);
echo "[$NAME]"': '$(cat "$1") > "$1";
if [ -n "$DESCRIPTION" ] ; then
echo "" >> "$1";
echo $DESCRIPTION >> "$1";
fi
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
996 次 |
| 最近记录: |