问题描述
我有一个预提交挂钩,可以在提交时提高软件版本。但是,当仅更新 CHANGELOG.md
时,我想跳过此功能。我试过了:
diffs="$(git diff --name-only)"
if [[ $diffs == "CHANGELOG.md" ]]
then
# echo 'no bump'
else
# echo 'bump'
# code that bumps the version
fi
但经过一些检查,即使 diffs
已上演,CHANGELOG.md
变量实际上也是空白的。所以它总是评估 else
语句。我想知道是否可以在钩子中以某种方式访问差异。
解决方法
@JBallin 的评论解决了我的问题。应使用 --cached
或 --staged
,因此代码必须更改为:
diffs="$(git diff --name-only --cached)"
if [[ $diffs == "CHANGELOG.md" ]]
then
# echo 'no bump'
else
# echo 'bump'
# code that bumps the version
fi