如何删除git上的fetch自动完成功能,但仅在冒号(:)之后?
我是说,我打字之后
$ git fetch origin m<tab>
,它自动完成
$ git fetch origin master:master
,我想自动完成
$ git fetch origin master
,没有“冒号部分”(类似于git的早期版本)。
大多数情况下,我已经在master或任何分支上,我不想像这样将远程分支合并到本地分支中。
谢谢!

最佳答案

谢谢你指出这一点。
我在/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
    ;;

它能按我的期望工作。

10-08 03:14