最近我发现了命令为什么'git ls-files'没有显示在制表符上?
git ls-files
,我觉得它非常有用(见与-h
选项的话)。为什么不出现如果我输入git
,然后按Tab
?
我的意思是 - git
的其他命令列表在哪里?
最近我发现了命令为什么'git ls-files'没有显示在制表符上?
git ls-files
,我觉得它非常有用(见与-h
选项的话)。为什么不出现如果我输入git
,然后按Tab
?
我的意思是 - git
的其他命令列表在哪里?
git ls-files
是一个管道命令,许多这些命令都是“隐藏”的,并且是正确的。随着时间的推移,许多已添加到bash完成,但许多仍然“隐藏”
在默认安装中,Tab完成仅列出出现在/bin
,/usr/bin
等等中的命令的名称。没有文件/usr/bin/git ls-files
。
ls-files
是一个子命令,你将不得不教你的shell。假设你正在使用bash,你可以运行help complete
来查看你可以在你的.bashrc
中输入什么命令。
如果你的发行提供的是bash完成包,你可以安装它节省了大量的时间:
apt-get install bash-completion # on Debian/Ubuntu/etc.
yum install bash-completion # on Fedora/Red Hat/etc.
但作为manojlds指出,这不会对不太常用的Git命令工作如ls-files
,因为bash完成隐藏了你的这些信息。你将不得不编辑/etc/bash_completion.d/git
来改变这一点。
我很确定OP有bash完成安装,它仍然没有好处。 – 2015-03-12 00:34:40
看看你的~/.git-completion.sh
和__git_list_porcelain_commands()
函数。那里列出了git支持但不会制表完成的命令。大多数这些命令都是所谓的“管道”命令,包括ls-files
。您可以通过评论相应的行来轻松地制作它们。像这样:
#ls-files) : plumbing;;
#ls-remote) : plumbing;;
#ls-tree) : plumbing;;
好的。但是,你能给我一个链接到一些“隐藏的”git命令列表吗?我想检查一下。 – Adobe 2012-03-27 07:24:39
@Adobe您可以通过运行'git help -a'来查看列表。您还可以通过将以下内容添加到'〜/ .bash_completion'文件来覆盖tab-completion来显示所有内容:'_completion_loader git; __git_compute_porcelain_commands(){__git_compute_all_commands; __git_porcelain_commands = $ __ git_all_commands; }' – dlitz 2013-09-24 13:00:11
这个答案没有回答问题 - 'git'的'其他'命令在哪里?'。那么为什么它被标记为正确答案? – fnl 2017-07-14 08:55:26