2

我知道可以使用&&(and) 语句为同一个别名运行多个命令。然而,对于长组合,它会失去可读性。举个例子:

save = !git status && git add -A && git commit -m \"$1\" && git push --force && git log && :

我想知道是否有一种多行方式来编写它? 例如,也许拥抱它{}

4

2 回答 2

4

好吧,显然这是不可能的。因此,我发现增加 git alias 可读性的最佳替代方法是使用反斜杠字符 ( \) 来换行。

[alias]
   save = !git status \
        && git add -A \
        && git commit -m \"$1\" \
        && git push -f \
        && git log -1 \
        && :            # Used to distingue last command from arguments

其他方法是使用函数,但是仍然需要反斜杠。

[alias]
   save = "!f() { \
           git status; \
           git add -A; \
           git commit -m "$1"; \
           git push -f; \
           git log -1;  \
        }; \ 
        f;  \
        unset f" 
于 2019-12-09T21:17:16.237 回答
3

我会避免在配置文件中编写如此广泛的别名。您还可以通过将名为的可执行文件添加git-newcommand到您的PATH. 这可以是 Bash 脚本、Python 脚本甚至是二进制文件,只要它是可执行的并且以前缀“git-”命名。

如果是脚本,您必须添加正确的Hashbang

#!/usr/bin/env python

导出PATH,例如在您的家中:

export PATH="${PATH}:${HOME}/bin"

这更加模块化、可移植且更易于调试。

于 2019-12-09T21:38:51.250 回答