git - 如何在获取冒号后删除自动完成文本?
问题描述
如何fetch
在 git 上删除自动完成功能,但只能在冒号 (:) 之后?
我的意思是,在我输入之后
$ git fetch origin m<tab>
,它会自动完成
$ git fetch origin master:master
,我想自动完成
$ git fetch origin master
, 没有“冒号部分”(就像以前的 git 版本一样)。
大多数时候我已经在 master 或任何分支上,我不想像这样将远程分支合并到我的本地分支中。
谢谢!
解决方案
感谢clmno指出这一点。
/usr/share/bash-completion/completions/git
我在函数中编辑了文件,__git_complete_remote_or_refspec ()
注释了以下几行:
case "$cmd" in
fetch)
#if [ $lhs = 1 ]; then
# __gitcomp_nl "$(__git_refs2 "$remote")" "$pfx" "$cur_"
#else
__gitcomp_nl "$(__git_refs)" "$pfx" "$cur_" # leave this uncommented
#fi
;;
它可以按我的预期工作。
推荐阅读
- ios - SwiftUI:如何检测列表何时滚动?
- r - R-将日历日转换为从星期日算起一周的财政年度周?
- java - 如何在 Scala 程序中反映字段注释 (Java)?
- r - 分类数据的 R 数据可视化
- wordpress - 根据连接网站可能会或可能不会加载
- node.js - Ubuntu docker 容器上的 NodeJs?
- python - 如何使用 Python 从 Gmail API json 获取特定密钥?
- mysql - 删除一个表中与另一个表中的行不匹配的行
- git - 有效地保留单个 git 存储库,同时同时激活多个签出版本?
- gradle - 如何在 Gradle 多项目中制作完全独立的模块