【发布时间】:2015-06-03 20:46:11
【问题描述】:
所以,假设这个 cmd 的结果:git l | tail -n 1 | awk '{print $3}’ 就是这个哈希 709bc16
当我运行这个 cmd 时:
git show --pretty="format:" --name-only $(git l | tail -n 1 | awk '{print $3}’)
我收到此错误
fatal: ambiguous argument '709bc16': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>…]’
当我直接尝试git show --pretty="format:" 709bc16
那么cmd就执行成功了。
我什至不知道该问什么。我相信是关于这个 cmd 结果的格式:$(git l | tail -n 1 | awk '{print $3}’)
【问题讨论】:
-
什么是
git l?git log? -
git l的别名是什么?看起来输出包含一个不可见的字符,可能是回车?git l | tail -n 1 | awk '{print $3}' | hexdump -C的输出是什么? -
@chepner 是的。这是它的显示方式:
[33m709bc16[32m。 -
你得到了
git用来着色输出的ANSI转义字符;最好的解决方案是修改git l(或创建一个新别名)以输出未着色的文本。 -
除非您指定
git l的定义,否则您的问题将很难回答。