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



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

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

有没有多行的写法?

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

您可以使用行转义 (( 来像这样换行:

[alias]
save = !git status 
&& git add -A 
&& git commit -m "$1" 
&& git push -f 
&& git log -1 
&& : # Used to distinguish 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" 

另请参阅: Git 别名 - 多个命令和参数

我不会在配置文件中编写如此广泛的别名。您还可以通过将名为git-newcommand的可执行文件添加到PATH来添加新命令。这可以是一个Bash脚本,Python脚本甚至二进制文件,只要它是可执行的并以前缀"git-"命名。

如果是脚本,您必须添加正确的哈希bang:

#!/usr/bin/env python

导出PATH,例如在家中:

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

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

最新更新