3

好吧,我尝试了无数种变化:

git config --global alias.gg '!gitk --all &; git gui &'

但它们不起作用或只显示像这样的 gitk :

[alias]
    gg = !gitk --all& ; git gui&
4

1 回答 1

4

我在尝试让它发挥作用时获得了一些乐趣,这就是我想出的

我的环境中没有 gitk 或 git gui 来测试您的实际命令,但从我的实验中我建议您尝试:

gg = !sh -c ": ; (gitk --all &) ; (git gui &)"

这是我确实在我的盒子上工作的一个,并给出了一些解释......

gg = !sh -c ": ; (qgit &) ; echo b ; echo c"

对于 shell,“:”是一个 NOP,我必须把它放进去,因为第一个命令总是被忽略,所以你要 bash - 忽略我的忽略。即当我尝试时,"echo a ; echo b ; echo c"我只会得到bc输出。

其次,除非我将整个子命令放在子shell中,否则 & 不起作用。即,如果您删除括号,您会收到语法警告。

于 2013-07-09T15:13:29.657 回答