我正在努力训练自己编写更好的提交消息,因此我在~/.gitconfig
[commit]
template = ~/.gitmessage.txt
难题是我几乎总是使用:
git commit -m "Message here"
有时候:
git commit -am "Message here"
如何防止自己使用-m标志,以便显示我的模板并提醒我使用它?
我不需要在项目中绝对强制执行此操作,但我想让自己脱离“-m”。
Ubuntu / Bash是我的环境。
答案 0 :(得分:12)
将其放入.bashrc
:
git() {
for arg
do
if [[ $arg == -m* || $arg == -[^-]*m* ]]
then
annoy_me
return 1
fi
done
command git "$@"
}
annoy_me() {
echo "Stop using -m, $USER!"
echo "You are now in time out."
settings=$(stty -g)
stty raw
sleep 15
stty "$settings"
}
annoy_me
这里等待15秒,并且不能从该终端开始。
您可以将其替换为您认为适当烦人的内容,例如sl
或mplayer -volume 100 Spice_Girls_Wannabe.mp3 < /dev/null &> /dev/null &
答案 1 :(得分:1)
您也可以编写一个名为git
的shell脚本,并在真正的git之前将其放入PATH中。在它内部,你只需要检查args是否为-m,如果存在scoff你自己,如果没有调用真正的git二进制文件。
有关如何转发args的示例,请参阅this question。
答案 2 :(得分:0)
我没有预见到一个可以阻止你养成习惯的答案。
但您可以尝试使用别名。这里唯一的诀窍是摆脱旧习惯,用指向模板的别名替换它。
提示:养成习惯平均需要30天