【发布时间】:2014-04-14 18:47:33
【问题描述】:
我发现能够一次性指定提交消息会欺骗我编写简短的一行提交消息。我经常以git commit -m "fix things" 结尾。但是,每当我离开-m 选项时,我的编辑器就会弹出,我更有可能写一个好的提交消息。
过去,我通过禁用不想再使用的功能来养成习惯。例如:我禁用了 vim 中的箭头键,这最终让我使用了 hjkl。这非常有效,我想尝试对 git commit 消息做同样的事情。我想让 git(或 bash 或 zsh)因为我试图使用 commit -m 而对我大喊大叫。
我可以完全围绕 git 命令编写一个包装器,但也许你有其他解决方案,我可能会学到一些很酷的东西!我对各种魔法和诡计持开放态度。
【问题讨论】:
-
无法立即测试,但尝试创建一个函数
mgit() { git "$@" -m ""; },并使用mgit而不是git。如果git只考虑后续重复的参数,那么这应该有效。 -
或者像这样
function git() { args="$@"; if [ -z $(grep "commit" <<< "$args") ]; then git "$@"; else git "$@" -m ""; fi }但正确的方法是使用钩子 -
@МалъСкрылевъ @devnull 添加
-m ""不会影响上一个选项。git commit -m "fix" -m ""仍然只是创建带有“修复”消息的提交。