Gitエイリアスとして複数のコマンドを&&として使用します。

Gitエイリアスとして複数のコマンドを&&として使用します。

私はコマンドを実行し、失敗したかどうかにかかわらず、お互いの成功に応じて別のコマンドを実行するエイリアスが欲しい。

だから.gitconfigにこのようなものがあります。

getpull = !sh -c 'git remote add $0 $1; git fetch $0 && git checkout -b $2 $0/$2'

そのコマンドを使用すると、次のエラーが発生します(シェルにコピーすると正しく機能するため、わかりません)。

sh -c 'git remote add $0 $1: 1: sh -c 'git remote add $0 $1: Syntax     error: Unterminated quoted string

答え1

私はこれが.gitconfigパーサーに関連しているようだと思いました。問題を解決するには、以下のようにコマンド全体を二重引用符で囲む必要があります。

"!sh -c 'git remote add $0 $1; git fetch $0 && git checkout -b $2 $0/$2'"

答え2

セミコロンは、;Gitエイリアスを早期に終了するコメントを開始し、Gitがエイリアスを指定した外部シェルコマンドを実行しようとすると、不完全に残ります。

このコマンドのマニュアルページには、Git設定ファイルがINI形式で作成されているため、セミコロンがコメントを開始して行末まで拡張されることがgit-config示されています。;

関連情報