为什么'git ls-files'没有显示在选项卡完成上?

Ado*_*obe 9 git bash

最近我找到了命令

git ls-files
Run Code Online (Sandbox Code Playgroud)

我发现它非常有用(请参阅-h选项).如果我输入git然后再按,为什么不显示Tab

我的意思是 - "其他"命令的列表在哪里git

Pen*_*eng 6

看看你~/.git-completion.sh和你的__git_list_porcelain_commands()功能.那里列出了git支持但不会完成tab的命令.这些命令中的大多数都是所谓的"管道"命令,包括ls-files.您可以通过评论相应的行轻松地使它们完成制表.像这样:

#ls-files)         : plumbing;;
#ls-remote)        : plumbing;;
#ls-tree)          : plumbing;;
Run Code Online (Sandbox Code Playgroud)


man*_*lds 4

git ls-files是一个管道命令,其中许多命令是“隐藏的”,这是理所当然的。随着时间的推移,许多已添加到 bash 补全中,但许多仍然是“隐藏的”

  • @Adobe您可以通过运行“git help -a”来查看列表。您还可以通过将以下内容添加到“~/.bash_completion”文件中来覆盖制表符完成以显示所有内容:“_completion_loader git;” __git_compute_porcelain_commands() { __git_compute_all_commands; __git_porcelain_commands=$__git_all_commands; }` (3认同)