1

私はgit checkout -b <branchname>(基本的にブランチを作成してチェックアウトする)ことになっているgitエイリアスを持っています。私のエイリアスは次のようになります。

newbranch = !sh -c 'git checkout -b "$1"'

しかし、試してみるgit newbranch mytestbbranchと、「b」スイッチには引数が必要であるというエラーが表示されます。

次のような名前変更の同様のエイリアスがあります。

rename = !sh -c 'git branch -m "$1" "$2"'

そして、それはうまく機能します。newbranchエイリアスが機能しない理由がわかりません。

4

1 に答える 1

2

次のようなエイリアスを使用する場合

!sh -c 'git checkout -b "$1"'

末尾のダッシュが必要です-:

!sh -c 'git checkout -b "$1"' -

他のエイリアスが機能する理由がわかりません。

Linux Kernel Git wiki の引数を使用した Advanced aliases によると:

バージョン 1.5.3 以降、git は「!」で始まるコマンドに引数を追加することもサポートしています。並べ替えを実行する必要がある場合、または引数を 2 回使用する必要がある場合は、次のトリックを使用できます。

 [alias]
      example = !sh -c 'ls $2 $1' -

最後のダッシュは、引数が $0 ではなく $1 で始まるようにするためのものです。

以下も参照してください。

  1. 位置パラメータ付きの git エイリアス (git foo aaa bbb ccc => foo aaa && bar bbb && baz ccc) .
  2. 引数を Git エイリアス コマンドに渡します
于 2013-08-21T00:55:42.877 に答える