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使用しないでください。変数置換を省略する理由がわからない場合は、必ず二重引用符を使用してください。

&&とを||ショートカットとして使用しないでください。可愛くていくつかのキャラクターを保存することもできますが、キャラクターを保存するには意味がありません。読みやすさが重要で、ifコードの意図をより明確に示しています。

次のようにgit構成でエイリアスを定義できます(ただし、この方法では既存のコマンドを非表示にすることはできないため、別の名前を使用する必要があります)~/.gitconfig

[alias]
co = commit -v

関連情報