识别转义字符
Identifying an escaped character
我有一个方便的小别名,用于删除任何已合并到当前 b运行ch 中的 Git b运行ches:
alias git_delete_merged_branches='git branch --merged | grep -v "\*" | xargs -n 1 git branch -d'
这一直运行良好,直到我更新到最新版本的 Git (2.9),它突然停止工作并出现此错误:
error: branch 'blah' not found.
如果我 运行 git branch --merged | grep -v "\*"
,我得到以下输出:
blah
这似乎是正确的,如果我 运行 echo " blah\n" | xargs -n 1 git branch -d
一切正常。我怀疑 Git 可能添加了隐藏字符,所以我 运行 git branch --merged | grep -v "\*" | cat -v
结果如下:
blah^[[m
什么是 ^[[m
字符,我该如何摆脱它?
它是你本地机器上的东西 -
我在 windows 和 Unix 上都试过了,对我来说效果很好。
检查 .gitconfig 文件的内容。
你应该有类似的东西
[color]
ui = auto
它应该在输出到管道时禁用颜色。
我有一个方便的小别名,用于删除任何已合并到当前 b运行ch 中的 Git b运行ches:
alias git_delete_merged_branches='git branch --merged | grep -v "\*" | xargs -n 1 git branch -d'
这一直运行良好,直到我更新到最新版本的 Git (2.9),它突然停止工作并出现此错误:
error: branch 'blah' not found.
如果我 运行 git branch --merged | grep -v "\*"
,我得到以下输出:
blah
这似乎是正确的,如果我 运行 echo " blah\n" | xargs -n 1 git branch -d
一切正常。我怀疑 Git 可能添加了隐藏字符,所以我 运行 git branch --merged | grep -v "\*" | cat -v
结果如下:
blah^[[m
什么是 ^[[m
字符,我该如何摆脱它?
它是你本地机器上的东西 -
我在 windows 和 Unix 上都试过了,对我来说效果很好。
检查 .gitconfig 文件的内容。
你应该有类似的东西
[color]
ui = auto
它应该在输出到管道时禁用颜色。