![Есть ли способ сделать так, чтобы git commit имел параметр -v по умолчанию?](https://rvso.com/image/36426/%D0%95%D1%81%D1%82%D1%8C%20%D0%BB%D0%B8%20%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%20%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C%20%D1%82%D0%B0%D0%BA%2C%20%D1%87%D1%82%D0%BE%D0%B1%D1%8B%20git%20commit%20%D0%B8%D0%BC%D0%B5%D0%BB%20%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%20-v%20%D0%BF%D0%BE%20%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E%3F.png)
У меня есть
git () { [ $1 = commit ] && command git commit -v "${@:2}" || command git "$@"; }
Он делает git commit
его значением -v
по умолчанию, в противном случае передает параметры и выполняет команду git
.
Но кажется, что это можно было бы сократить?
Кстати, я уменьшаю свой .bashrc
файл. Пока что до 28 (в основном читаемых) строк.
решение1
Вот способ не повторять эту command git
часть:
git () {
if [ "$1" = commit ]; then set commit -v "${@:2}"; fi
command git "$@"
}
Обратите внимание, что не следует использовать $1
без двойных кавычек. Всегда используйте двойные кавычки вокруг подстановок переменных, если только вы не знаете, почему вам нужно их опустить.
Не используйте &&
и ||
как сокращения. Это мило и может сэкономить несколько символов, но экономия символов бессмысленна. Читабельность важна и if
более четко определяет цель кода.
Вместо этого вы можете определить псевдоним в своей конфигурации git (но таким образом вы не сможете скрыть существующую команду, вам нужно будет использовать другое имя), например, так ~/.gitconfig
:
[alias]
co = commit -v