🖥

.gitconfig でコマンド引数を使えるエイリアス登録をするにはシェル関数を定義すると良いらしい - #git tips

2020/01/01に公開

.gitconfig

  • シェルの関数で実現する
  • エイリアスの中でだけ一時的に利用するシェル関数を定義する、名前はなんでも良いがここでは1文字のfとする
  • 定義した後にすぐシェル関数 f を呼び出す
  • f の後には何も記述しない、するとコマンド引数が暗黙的に git コマンドに渡される <- ここがポイント
  • f は使い回し可能、複数のエイリアスで別の関数名をつける必要はない

git checkout <BRANCH_NAME> して Hello とか Wow とか標準出力する、特に意味のない例

[alias]
  checkout-and-say-hello = "!f() { git checkout \"$1\" && echo Hello; }; f"
  checkout-and-say-wow = "!f() { git checkout \"$1\" && echo Wow; }; f"

Run

$ git checkout-and-say-wow master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
Wow
$ git checkout-and-say-hello master
Already on 'master'
Your branch is up to date with 'origin/master'.
Hello

Ref

command - Git alias with positional parameters - Stack Overflow
https://stackoverflow.com/questions/3321492/git-alias-with-positional-parameters

Original by Github issue

https://github.com/YumaInaura/YumaInaura/issues/2897

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2020-01-01

Discussion