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

art*_*nrq 8 git-config git-alias

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

save = !git status && git add -A && git commit -m \"$1\" && git push --force && git log && :
Run Code Online (Sandbox Code Playgroud)

有没有多行的写法?

{}例如,也许用它包裹它?

art*_*nrq 17

您可以使用换行符 ( \) 来换行,如下所示:

[alias]
   save = !git status \
        && git add -A \
        && git commit -m \"$1\" \
        && git push -f \
        && git log -1 \
        && : # Used to distinguish last command from arguments
Run Code Online (Sandbox Code Playgroud)

您还可以将多个语句放入一个函数中,如下所示:

[alias]
   save = "!f() { \
           git status; \
           git add -A; \
           git commit -m "$1"; \
           git push -f; \
           git log -1;  \
        }; \ 
        f;  \
        unset f" 
Run Code Online (Sandbox Code Playgroud)

另请参阅Git Alias - 多个命令和参数