我一直在阅读并试图弄清楚如何让它发挥作用。我想将分支名称添加到提交消息中,这样我就可以使用git commit -m "message"
并获得名为branch message
的提交。我得到的最接近的是在.git/hooks/commit-msg
中使用以下代码,但我使用OSX 10.8.5得到sed: 1: ".git/COMMIT_EDITMSG": invalid command code .
。
我读到它与OSX sed
有不同的行为有关,但我找不到可行的解决方案。我可能只是对OSX / Linux不太了解。
ticket=$(git symbolic-ref HEAD | awk -F'/' '{print $3}')
if [ -n "$ticket" ]; then
sed -i "1i $ticket " $1
fi
答案 0 :(得分:3)
是的,OS / X不同。我测试了这个并且它工作正常,但可能还有一些额外的小调整供您处理。请注意,OS X上的-i标志需要一个文件扩展名来保存备份文件,并且为了避免sed坚持用1i添加的文本必须使用\后跟另一行进行转义,我使用了1s。
ticket=$(git symbolic-ref HEAD | awk -F'/' '{print $3}')
if [ -n "$ticket" ]; then
sed -i '.bak' "1s/^/$ticket /" $1
fi