禁用git中的-m
我试图训练自己编写更好的提交消息,因此我在我的禁用git中的-m,git,bash,Git,Bash,我试图训练自己编写更好的提交消息,因此我在我的~/.gitconfig [commit] template = ~/.gitmessage.txt 难题是我几乎总是使用: git commit -m "Message here" 有时: git commit -am "Message here" 如何防止自己使用-m标志,以便显示模板并提醒我使用它 我不需要在项目中强制执行这一点,但我想戒掉“-m” Ubuntu/Bash是我的环境。你也可以编写一个名为git的shell脚本,并在
~/.gitconfig
[commit]
template = ~/.gitmessage.txt
难题是我几乎总是使用:
git commit -m "Message here"
有时:
git commit -am "Message here"
如何防止自己使用-m标志,以便显示模板并提醒我使用它
我不需要在项目中强制执行这一点,但我想戒掉“-m”
Ubuntu/Bash是我的环境。你也可以编写一个名为
git
的shell脚本,并在真正的git之前将其放入你的路径中。在它里面,您只需检查-m的参数,如果存在,则嘲笑您自己,如果不调用真正的git二进制文件
有关如何转发args的示例,请参见。我没有预见到一个可能会让你改变习惯的答案 但您可以尝试使用别名。这里唯一的诀窍是摆脱旧习惯,用指向模板的别名替换它
小贴士:养成一个习惯平均需要30天把它放到你的
中。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"
}
骚扰我
此处等待15秒,无法从该终端终止
您可以根据您认为适当恼人的内容来替换它,例如<代码> SL<代码> >代码> MpRead。第100卷SpabeEngHythsWaNab.MP3DEV/NULL/<代码> < /P> > <代码> Git提交< /代码>别名,如<代码> GMIX?老实说,我不明白你怎么能一开始就少打字;)那么,像这样的建议如何防止意外的数据提交呢?@pmr-这是关于克服“肌肉记忆”的。我想马上做一个简短的别名,因为我正在做类似的事情:。然而,对于“-m”的情况,并没有什么有趣的输出结果让我使用提交别名,所以我需要考虑使用一个大棒,而不是胡萝卜:-)这很可爱,尽管寻找
-*m*
会很霸道-我不能再写git merge--no commit
?出于好奇,我最终从@另一个家伙的答案中得出以下结论:我非常推荐使用此选项来禁用-a
开关。这通常是我对存储库所做的最具破坏性的事情,并阻止我将更改分离为正确的提交。