【发布时间】:2011-11-08 21:04:27
【问题描述】:
我知道 Git 别名可以与参数 Git Faq section "Git Aliases with argument" 一起使用。
但是今天我遇到了一个错误。
举一个简单的例子,它不适合实际使用。如果我做这样的别名:
[alias]
lo = "!sh -c 'git log $1' -"
那我就可以用了
git lo file_a
查看file_a的日志。
但是当我使用“tab”自动补全路径时,出现以下错误。
git lo [tab]
错误信息:
sh: declare: `_git_{': not a valid identifier
这似乎是 git-completion.bash 中的一个错误。但是我找不到`_git_{'在哪里!
我还发现错误消息中 _git_{ 周围的引号似乎很奇怪。
顺便说一句,我的 msysgit 版本是 1.7.6-preview20110708
添加:
另外一个奇怪的事情是,我在Git的目录下搜索所有文件,发现没有文件包含字符串_git_{ .
【问题讨论】:
-
我只在 got bash 命令中看到完成错误,而不是在完成工作良好的 git cmd 会话中。
-
你的意思是这是一个 bash 错误?与 Git 无关?
-
是的,也许你是对的。我在 Debian 上的 Git 1.7.4 中测试了这个别名,似乎没问题。也许这个错误是由 msysgit 附带的 bash 引起的。我会将它报告给 msysgit 社区。谢谢,VonC!
-
AFAIK Debian 使用 dash 而不是 bash...
-
@kusma 我不知道 Debian 的默认 shell 是什么,但我使用 bash。
标签: git bash shell alias msysgit