git tab-completion 在 Debian Wheezy 上不起作用,但在 Squeeze 上起作用

git tab-completion 在 Debian Wheezy 上不起作用,但在 Squeeze 上起作用

我的问题是关于 git 命令制表符完成,即当我键入git stat 并点击 Tab 时,它会将命令行完成为git status. (如果适用,这也适用于远程名称和分支名称。)

让我困惑的是,无需在任何机器上进行额外配置,在具有较旧的 git 和稳定的 Debian 的机器上它可以工作,而在笔记本电脑上则不能。这不应该是反过来?难道奇特的东西不应该更倾向于测试而不是稳定吗?

在我的 VPS 上,其中:

aloism@srv:~$ git --version
git version 1.7.2.5
aloism@srv:~$ lsb_release -a
No LSB modules are available.
Distributor ID:     Debian
Description:        Debian GNU/Linux 6.0.5 (squeeze)
Release:            6.0.5
Codename:           squeeze

在我的笔记本电脑上:

lennycz@laptop:~$ git --version
git version 1.7.10.4
lennycz@laptop:~$ lsb_release -a
No LSB modules are available.
Distributor ID:     Debian
Description:        Debian GNU/Linux testing (wheezy)
Release:            testing
Codename:           wheezy
lennycz@laptop:~$ 

任何盒子上的 ~/.gitconfig 都没有什么有趣的东西。

有人能解释一下吗? git 中的错误?还有更多的研究思路吗?

答案1

原因是 bash-completion 包未安装在笔记本电脑上,该包可以完成将其脚本添加到 /etc/bash_completion 的其他包。

难道不应该是这样吗另一种方式?难道奇特的东西不应该更倾向于测试而不是稳定吗?

嗯,这听起来很合乎逻辑,但 Debian 有点打破了这个简约原​​则,因为 Lenny 在默认情况下也安装了推荐的软件包。你可以禁用此行为, 尽管。

显然 Debian 安装程序不会为 Wheezy 使用此设置,原因是另一个问题。

相关内容