删除名为Git-for-Windows shell 中的 DEV-

删除名为Git-for-Windows shell 中的 DEV-

我将分支重命名为从 Firefox 复制并粘贴到 Git-for-Windows shell (MinGW64) 中的名称,现在分支名为<U+0096><U+0096>DEV-。据我所知,前导字符<U+0096>代表 shell 无法忽略的不可见或不可打印字符,或者这是我从中复制分支名称的 Jira 中的一个相当烦人的问题。

我能够根据 中的提交哈希挑选提交reflog。现在,我想摆脱分支(最好在命令行上以便学习一些 Windows 技巧)。

答案1

bash可以使用 C 风格的转义序列,语法如下:$'string'。因此,您可以使用

> git branch -D $'\x96\x96DEV-'

如果您不知道确切的字节数,您可以使用这个来找出:

> git show-ref | sed -n 's#.* refs/heads/##p' | grep -a DEV- | hexdump -C
00000000  96 96 44 45 56 2d 0a                              |..DEV-.|
00000007

您必须省略结尾的0a0d 0a

答案2

使用

git branch -D $'\xC2\x96\xC2\x96DEV-'

字符 96 的 UTF 编码为0xC296

相关内容