Как раз для полноты, я хотел бы добавить ответ, используя файл ~/.bash-completion, который будет получен в конце скрипта завершения bash:
_xfunc git __git_complete g __git_main
_xfunc git __git_complete gl _git_log
_xfunc git __git_complete gd _git_diff
_xfunc git __git_complete gb _git_branch
Затем в my ~/.bashrc У меня есть только псевдонимы. Я пытался:
избегать опроса моего ~/.bashrc с материалом для заполнения bash (хранить вещи там, где они есть) ✓ избегать использования всего git-завершения в моей оболочке ☹Unforutnately _xfunc источник git-завершения в любом случае. Я обновлю этот ответ, когда выясню, как это сделать правильно (я также спросил здесь об обеденном столе).