![git commit に -v をデフォルトとして設定する方法はありますか?](https://rvso.com/image/36426/git%20commit%20%E3%81%AB%20-v%20%E3%82%92%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%81%A8%E3%81%97%E3%81%A6%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%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