使用钩子有条件地将字符串附加到commit-msg

时间:2013-03-03 03:55:16

标签: git shell sed hook pre-commit-hook

我们如何写一个commit-msg钩子,用于在所有提交中附加一个字符串[XYZ],除非原始提交消息在某处有[exclude-XYZ]

我是shell脚本的初学者,这是迄今为止我尝试过的失败:

if echo "$1" | grep "[exclude-XYZ]"
then 
else echo "$1 [XYZ]" >> "$1"
fi

1 个答案:

答案 0 :(得分:1)

您正在回显文件名,而不是检查其内容。尝试类似:

if fgrep '[exclude-XYZ]' -- "$1" >/dev/null; then 
  :
else
  echo "[XYZ]" >> "$1"
fi

或者,作为一个单行:

fgrep '[exclude-XYZ]' -- "$1" >/dev/null || echo '[XYZ]' >> "$1"