Я хочу использовать псевдоним Git в ~ / .gitconfig, чтобы он вызывал функцию bash, если она определена, в противном случае вызовите обычный git checkout
.
Это то, что я разработал:
cat ~/.gitconfig
...
[alias]
...
co = !(compgen -A function vxzExecuteGitCheckout >/dev/null && vxzExecuteGitCheckout ) || git checkout
Проблема в том, что Git использует / bin / sh (в моем случае это dash
), и он вызывает compgen
, так как он встроен bash
.
Любой способ убедиться, что Git использует bash
для выполнения этой команды?
Обратите внимание, что vxzExecuteGitCheckout()
определен в файле, который еще не включен в ~ / .bashrc.
Другой вопрос: если бы я использовал git co -b param1 param2 ...
, передалось бы вышеупомянутое определение псевдонима от -b param1 param2
до git checkout
, если эта функция Bash не найдена?