我已经创建了一个名为info的别名来显示状态,分支和登录git-bash。但是,所有的信息都聚集在一起,有点让人讨厌阅读,因此我想通过在其上下添加新的连字符行来使阅读起来更轻松。经过多次尝试,我无法正常工作。因此,我在这里寻求帮助。

这是我之前尝试过的方法,试图让它在git branch和git log之间复制之前起作用。

$ git config --global alias.info '!git status && echo && !printf -- '-%.0s' {1..80}; echo "" && echo && git branch && git log'

下面是结果的样子。

git status result

-----------------------

git branch result

-----------------------

git log result
分析解答

如果!语法未提供预期的结果,请尝试和将命令嵌入Git别名中的shell函数中:

alias.info !f() { echo begin arg=$1/$2/end; }; f

甚至在单独的脚本中:

git config --global alias.info '!sh info.sh'

关键是:如果可以使其在常规的Shell脚本中运行,则可以从别名中调用它。

或者甚至可以将脚本命名为git-info(可执行,无扩展名),只需键入:

git info

那里不需要别名:任何git-xxx脚本都可以称为git xxx(如果git-xxx在您的PATH中)