我有一个方便的小别名来删除任何已合并到当前分支的Git分支:
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
字符,如何摆脱它?