Git别名多命令;和 &&

Kar*_*shy 4 shell git quoting

我想要一个执行命令的别名,然后它是否失败或不执行其他命令,这取决于彼此的成功。

所以我在 .gitconfig 中有类似的东西

getpull = !sh -c 'git remote add $0 $1; git fetch $0 && git checkout -b $2 $0/$2'
Run Code Online (Sandbox Code Playgroud)

使用该命令,我收到以下错误(我不知道,因为当我将它复制到 shell 时它工作正常):

sh -c 'git remote add $0 $1: 1: sh -c 'git remote add $0 $1: Syntax     error: Unterminated quoted string
Run Code Online (Sandbox Code Playgroud)

Kar*_*shy 7

我想通了,它似乎与 .gitconfig 解析器有关,要解决它,我们只需要将整个命令用双引号括起来,如下所示

"!sh -c 'git remote add $0 $1; git fetch $0 && git checkout -b $2 $0/$2'"
Run Code Online (Sandbox Code Playgroud)