我有Git(版本1.7.2.5)bash compeletion正在处理我的Debian squeeze(6.0)。 Git安装了aptitude,我正在使用标准的debian bash
,它支持命令行自动完成。
现在,我刚刚在另一台机器(Lenny / Debian 5.0)上安装了Git(1.5.6.5),并且没有自动完成功能。
为什么Git自动完成不能在第二台机器上运行?我该如何诊断?
什么在我的机器上完成工作?我找了文件git-completion.bash
,但它似乎不在我的机器上。 Git如何完成工作?
如何将git complete带到另一台机器上?
答案 0 :(得分:43)
在~/.bashrc
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
脚本/程序/etc/bash_completion
已包含/etc/bash_completion.d
中的脚本,并且还定义了所包含脚本所需的一些功能。
答案 1 :(得分:39)
您需要source /etc/bash_completion.d/git
启用git自动完成功能。
在我的.bashrc
中完成了:
for file in /etc/bash_completion.d/* ; do
source "$file"
done
答案 2 :(得分:12)
在Debian上激活Git的bash自动完成的最短方法是添加
source /etc/bash_completion.d/git
到~/.bashrc
(并重启终端)。
另见:“Pro Git” - > 2.7 Git Basics - 提示和技巧 - > Auto-Completion
答案 3 :(得分:12)
如果缺少,您需要安装此软件包。然后注销并登录。
apt-get install bash-completion
答案 4 :(得分:0)
使用Notepad ++编辑〜/ .bashrc文件。 将行放在脚本的底部,在行的开头加上#。保存文件。例如: #source C:\ cygwin64 / etc / bash_completion.d / git
不要忘记将整个文件路径放在'source'之后和'/ etc /'之前。例如,包含'etc'文件夹的cygwin64文件夹在我的c盘中,所以我的文件路径是c :\ cygwin64 / etc因此我在bashrc文件中包含的行是:
# source c:\cygwin64/etc/bash_completion.d/git
保存bashrc文件。打开Cygwin终端......轰!现在是时候了。
然后我输入以下命令,它工作。
git clone git:\/\/github.com/magnumripper/JohnTheRipper -b bleeding-jumbo JtR-Bleeding
答案 5 :(得分:0)
有时git自动完成消失,因为你不小心删除了〜/ .bashrc文件。检查主目录中是否有bashrc文件。如果没有,您可以随时复制:
/etc/skel/.bashrc
答案 6 :(得分:0)
用于 Manjaro 和其他基于Arch的发行版。我知道这是关于debian的,但是大多数事情都是一样的,但有时不是。无论您使用哪种操作系统,都将在这里结束。
在您的~/.bashrc
中添加:
source /usr/share/git/completion/git-completion.bash
然后在终端
$ source ~/.bashrc
答案 7 :(得分:0)
对于Ubuntu / Debian
Install Git and bash-completion: sudo apt-get install git bash-completion
我认为您不需要做任何其他事情。
答案 8 :(得分:0)
Ubuntu的最新版本(在20.04中观察到)似乎已将补全拆分为多个路径。对于Ubuntu 20.04,我必须在我的gbm()
中添加以下内容(取自.bashrc
中的默认bashrc):
/etc/bash.bashrc