![有没有办法让 git commit 将 -v 作为默认值?](https://linux22.com/image/36426/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E8%AE%A9%20git%20commit%20%E5%B0%86%20-v%20%E4%BD%9C%E4%B8%BA%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%9F.png)
我有
git () { [ $1 = commit ] && command git commit -v "${@:2}" || command git "$@"; }
它使git commit
has-v
作为默认值,否则传递参数并执行git
命令的任何操作。
但这似乎是可以缩短的事情?
仅供参考,我正在精简我的.bashrc
文件。到目前为止已减少到 28 行(大部分仍然可读)。
答案1
这是一种不重复然后command git
部分的方法:
git () {
if [ "$1" = commit ]; then set commit -v "${@:2}"; fi
command git "$@"
}
请注意,不应使用$1
不带双引号的内容。始终在变量替换周围使用双引号,除非您知道为什么需要将它们省略。
不要使用&&
and||
作为快捷方式。很可爱,可能会拯救一些角色,但拯救角色是没有意义的。可读性很重要,并if
以更清晰的方式说明代码的意图。
您可能想在 git 配置中定义一个别名(但不能以这种方式隐藏现有命令,您需要使用不同的名称),如下所示~/.gitconfig
:
[alias]
co = commit -v