首页 > 解决方案 > 如何在获取冒号后删除自动完成文本?

问题描述

如何fetch在 git 上删除自动完成功能,但只能在冒号 (:) 之后?

我的意思是,在我输入之后

$ git fetch origin m<tab>

,它会自动完成

$ git fetch origin master:master

,我想自动完成

$ git fetch origin master

, 没有“冒号部分”(就像以前的 git 版本一样)。

大多数时候我已经在 master 或任何分支上,我不想像这样将远程分支合并到我的本地分支中。

谢谢!

标签: git

解决方案


感谢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
    ;;

它可以按我的预期工作。


推荐阅读