是否可以在.gitconfig中编写多行别名?

问题描述 投票:1回答:2

我知道可以使用&&(和)语句为同一别名运行多个命令。但是,对于较长的组合,它将失去可读性。例如:

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

而且我想知道是否有多行书写方式?也许用{}拥抱它。

git-config git-alias
2个回答
1
投票

我不会在配置文件中写入如此广泛的别名。您还可以通过将名为add new commands的可执行文件添加到git-newcommandPATH。只要它是可执行文件,并且可以使用前缀“ git-”命名,则可以是Bash脚本,Python脚本甚至是二进制文件。

如果使用脚本,则必须添加适当的Hashbang

#!/usr/bin/env python

例如在您的家中导出PATH

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

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


0
投票

嗯,显然不可能。因此,我发现提高git别名可读性的最佳选择是使用反斜杠字符(\)来换行。

[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" 
© www.soinside.com 2019 - 2024. All rights reserved.