好吧,我尝试了无数种变化:
git config --global alias.gg '!gitk --all &; git gui &'
但它们不起作用或只显示像这样的 gitk :
[alias]
gg = !gitk --all& ; git gui&
我在尝试让它发挥作用时获得了一些乐趣,这就是我想出的
我的环境中没有 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"
我只会得到b
和c
输出。
其次,除非我将整个子命令放在子shell中,否则 & 不起作用。即,如果您删除括号,您会收到语法警告。