忽略 zsh git 自动完成中的 ORIG_HEAD

19
我使用 oh-my-zsh 和 git 自动补全功能。
如果我输入 git checkout org 并按下 TAB 键,我会得到以下结果:
ORIG_HEAD
origin/HEAD
origin/mybranch
我如何让自动完成忽略 ORIG_HEAD

2
我刚刚添加了悬赏,因为我非常关心这个问题的答案 :) - marcgg
2个回答

32
将以下代码添加到您的.zshrc文件中:
zstyle ':completion:*:*' ignored-patterns '*ORIG_HEAD'

当存在多个文件时,这将忽略所有以ORIG_HEAD结尾的文件。


8
如果你想将范围缩小一些,那么可以使用 zstyle ':completion:*:*:git*:*' ignored-patterns '*ORIG_HEAD'。请注意,我的翻译尽可能保持原意和简洁,没有其他额外的解释或信息。 - Ash Berlin-Taylor

1
  1. 您可以编辑 /usr/share/zsh/functions/Completion/Unix/_git 文件,并在以下行(对于我来说是第5091行)中删除 ORIG_HEAD:

    for f in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD; do

  2. 您也可以删除 .git/ORIG_HEAD 文件 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接