我感觉当我输入git add
->时Tab它只会提供有意义的文件 - 即未跟踪或修改的文件。
无论如何,现在相当长一段时间它都会列出每个文件。
我进行了一些研究,发现/usr/share/bash-completion/completions/git
我认为它具有我想要的功能。知道为什么它可能无法正常工作吗?
使用 CentOS Stream 9 和 git 2.43.5
我感觉当我输入git add
->时Tab它只会提供有意义的文件 - 即未跟踪或修改的文件。
无论如何,现在相当长一段时间它都会列出每个文件。
我进行了一些研究,发现/usr/share/bash-completion/completions/git
我认为它具有我想要的功能。知道为什么它可能无法正常工作吗?
使用 CentOS Stream 9 和 git 2.43.5
bash-completion 需要 1) 安装,2) 由您的
~/.bashrc
(或系统范围的 bashrc)明确加载。虽然 Git 安装了自己的 bash-completion 模块,但该文件本身不执行任何操作;它依赖于主
bash-completion
包来提供必要的框架。安装它,然后确保您的 bashrc 执行以下任务:这样它就会加载框架,然后
git
在需要时自动加载完成。除了这个答案之外,建议在加载补全之前检查 shell 是否是交互式的。如果不是,它们就毫无意义,毫无理由地减慢 shell 的速度。例如,可以使用以下方法完成:
这是bash-completion 存储库中描述的推荐方法,确保
$PS1
设置提示,并检查文件是否存在,以防您暂时卸载。另外,您也可以直接获取完成文件,而无需
bash-completion
自动化。不过,在这种情况下,您会失去延迟加载,因此大多数情况下并不值得。