有沒有辦法讓 git commit 將 -v 作為預設值?

有沒有辦法讓 git commit 將 -v 作為預設值?

我有

git () { [ $1 = commit ] && command git commit -v "${@:2}" || command git "$@"; }

它使git commithas-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

相關內容