在 Git-for-Windows shell 中删除名为 <U+0096><U+0096>DEV- 的分支

Kar*_*ter 6 windows git

我将一个分支重命名为从 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)

您必须省略尾随0a0d 0a