我将一个分支重命名为从 Firefox 复制的名称并粘贴到 Git-for-Windows shell (MinGW64) 中,现在分支名为<U+0096><U+0096>DEV-. Afaik 前导<U+0096>代表不可见或不可打印的字符,shell 无法忽略这些字符,或者在我从中复制分支名称的 Jira 中这是一个非常烦人的问题。
我能够根据reflog. 现在,我想摆脱分支(最好在命令行上以学习一些 Windows 技巧)。
小智 5
在bash你可以使用C风格的转义序列与此语法:$'string'。所以你可以删除分支
> git branch -D $'\x96\x96DEV-'
Run Code Online (Sandbox Code Playgroud)
以防万一您不知道确切的字节,您可以使用它来找出:
> git show-ref | sed -n 's#.* refs/heads/##p' | grep -a DEV- | hexdump -C
00000000 96 96 44 45 56 2d 0a |..DEV-.|
00000007
Run Code Online (Sandbox Code Playgroud)
您必须省略尾随0a或0d 0a。