我知道可以使用&&
(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"
这更加模块化、可移植且更易于调试。