Git 使用钩子有条件地附加字符串以提交消息

Git 使用钩子有条件地附加字符串以提交消息,git,shell,sed,hook,pre-commit-hook,Git,Shell,Sed,Hook,Pre Commit Hook,除了原始提交消息中的某个地方有[exclude XYZ]之外,我们如何编写一个commit msg钩子,将字符串[XYZ]附加到所有提交中 我是一名shell脚本初学者,以下是我迄今为止尝试过但未成功的内容: if echo "$1" | grep "[exclude-XYZ]" then else echo "$1 [XYZ]" >> "$1" fi 您正在回显文件名,而不是检查其内容。尝试以下方法: if fgrep '[exclude-XYZ]' -- "$1" >/

除了原始提交消息中的某个地方有
[exclude XYZ]
之外,我们如何编写一个
commit msg
钩子,将字符串
[XYZ]
附加到所有提交中

我是一名shell脚本初学者,以下是我迄今为止尝试过但未成功的内容:

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

您正在回显文件名,而不是检查其内容。尝试以下方法:

if fgrep '[exclude-XYZ]' -- "$1" >/dev/null; then 
  :
else
  echo "[XYZ]" >> "$1"
fi
或者,作为一个班轮:

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

您正在回显文件名,而不是检查其内容。尝试以下方法:

if fgrep '[exclude-XYZ]' -- "$1" >/dev/null; then 
  :
else
  echo "[XYZ]" >> "$1"
fi
或者,作为一个班轮:

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