我的问题是关于 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 使用此设置,原因是另一个问题。