使用bash条件逻辑比较字符串的git别名 - 语法问题

时间:2013-07-10 22:09:24

标签: git bash git-bash

我正在研究一个git别名,并在当前(不完整)状态遇到语法问题:

[alias]
gup2 = !git checkout $1 && BEFORE=$(git stash list) && git stash save gup-temporary-stash && git fetch && git rebase -p origin/$1 && if [ "$BEFORE" != "$(git stash list)" ]; then git stash pop; fi

引入双引号时问题似乎就开始了。我已经尝试了许多单引号和双引号与转义序列的组合,但我似乎无法找到正确的组合。

形成上述别名的语法正确方法是什么?

2 个答案:

答案 0 :(得分:2)

a year 使用Git别名,我认为他们不值得麻烦。在我看来,使用别名的唯一好处是你可以放

git foo

而不是

git-foo.sh

实际上,如果您的脚本在此处被命名为我的示例,您甚至可以将其称为

git foo.sh

或者如果您将脚本命名为git-foo,那么您甚至可以将其命名为

git foo

在我看来完全消除了git别名的好处。与仅编写外部脚本相比,脚本编写的Git语法是废话 I have done

答案 1 :(得分:0)

您可以尝试所需字符的字符代码,也可以尝试所需字符的十六进制名称。以下是这些内容的链接:

http://www.utf8-chartable.de/

在您正在做的事情的核心,您只是在您的环境中编写一个bash脚本。所以,无论你在git的bash界面之外写引号都应该可以在这里工作。