我想在 ~/.gitconfig 中使用 Git 别名,以便它调用 bash 函数(如果已定义),否则调用常规git checkout
.
这是我设计的:
cat ~/.gitconfig
...
[alias]
...
co = !(compgen -A function vxzExecuteGitCheckout >/dev/null && vxzExecuteGitCheckout ) || git checkout
问题是 Git 使用 /bin/sh (恰好dash
在我的情况下)并且它会compgen
因为它是bash
内置的而停止运行。
有什么方法可以确保 Gitbash
用来执行这个命令?
请注意,它vxzExecuteGitCheckout()
是在一个尚未包含在 ~/.bashrc 中的文件中定义的。
另一个问题是,如果我使用,如果找不到这个 Bash 函数git co -b param1 param2 ...
,上面的别名定义会传递-b param1 param2
给吗?git checkout