在git中禁用-m

Dan*_*wer 5 git bash

我正在努力训练自己写出更好的提交信息,所以我在我的网站上创建了一个条目 ~/.gitconfig

[commit]
    template = ~/.gitmessage.txt
Run Code Online (Sandbox Code Playgroud)

难题是我几乎总是使用:

git commit -m "Message here"
Run Code Online (Sandbox Code Playgroud)

而有时:

git commit -am "Message here"
Run Code Online (Sandbox Code Playgroud)

如何防止自己使用-m标志,以便我的模板出现,我将被提醒使用它?

我不需要在项目中绝对强制执行此操作,但我想让自己脱离"-m".

Ubuntu/Bash是我的环境.

tha*_*guy 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"
}
Run Code Online (Sandbox Code Playgroud)

annoy_me 这里等待15秒,并且不能从该终端开始.

你可以用任何你认为适当烦人的东西来替换它,例如slmplayer -volume 100 Spice_Girls_Wannabe.mp3 < /dev/null &> /dev/null &

  • 这很可爱,虽然寻找` - *m*`会变得霸道 - 我不能再写'git merge --no-commit`了? (3认同)