多个命令和参数

我正在尝试创建一个使用多个Git命令和位置参数的别名。 每个页面都有一个Stackoverflow页面,两个页面都显得很痛苦,但我遇到了麻烦。

作为一个例子,我想切换到分支foo并执行状态。 所以在我的.gitconfig ,我有:

  [alias] 
     chs = !sh -c 'git checkout $0 && git status'

这不起作用。 而这样的事情会起作用。

chs = !sh -c 'git checkout $0'

echoes = !sh -c 'echo hi && echo bye'

任何洞察力将不胜感激。


这将工作(用zsh和bash测试):

[alias] chs = !git checkout $1 && git status

你可以定义一个shell函数。

[alias] chs = "!f(){ git checkout "$1" && git status; };f"

这针对Windows批处理/ msysgit bash; 可能无法在其他环境中使用。

正如Olivier Verdier和Kevin Ballard所说的那样

[alias] chs = !git checkout $1 && git status

几乎可以工作,但给出了一个虚假的额外插入参数...

git chs demo -> git checkout demo && git status demo

但是,如果将&& :添加到别名的末尾,那么虚假参数将被消费到位置标记中。

所以

[alias] chs = !git checkout $1 && git status && :

给出正确的输出... git chs demo -> git checkout demo && git status

链接地址: http://www.djcxy.com/p/49761.html

上一篇: Multiple Commands and Parameters

下一篇: Android login in my app with google credentials