加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Bash git别名选项卡完成错误

发布时间:2020-12-15 18:45:44 所属栏目:安全 来源:网络整理
导读:我知道 Git别名可以用于参数 Git Faq section “Git Aliases with argument”. 但是今天我遇到了一个错误. 拿一个不适合实际使用的简单例子.如果我这样做一个别名: [alias] lo = "!sh -c 'git log $1' -" 那我可以用 git lo file_a 查看file_a的日志. 但是
我知道 Git别名可以用于参数 Git Faq section “Git Aliases with argument”.

但是今天我遇到了一个错误.

拿一个不适合实际使用的简单例子.如果我这样做一个别名:

[alias]
    lo = "!sh -c 'git log $1' -"

那我可以用

git lo file_a

查看file_a的日志.

但是当我使用“选项卡”自动完成路径时,会发生以下错误.

git lo [tab]

错误msg:

sh: declare: `_git_{': not a valid identifier

在git-completion.bash中似乎是一个错误.但是我找不到`_git_ {‘的位置!

另外我发现在错误msg中,引用标记_git_ {似乎很奇怪.

BTW,我的msysgit版本是1.7.6-preview20110708

加:

另一个奇怪的是,我在Git的目录下搜索所有文件,发现没有文件包含字符串_git_ {.

我猜想为git设置了一个自定义完成功能,并且错误在该设置中.首先尝试删除自定义完成,并查看错误是否消失:
complete -r git

旁注:对于在git别名中具有可重用参数的shell命令,现代习语是定义一个shell函数,它允许您使用标准shell参数处理,并且与“sh -c”相比有一个较少的参数引用来处理“:

[alias]
  plush = "!f() { git pull "$@" && git push "$@" }; f"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读