git branch -h 创建了名为“-h”的分支。这是预期的吗?
git branch -h created branch with name '-h'. Is this expected?
如图所示,不确定分支是如何创建的 -h
-merged
--help
如何删除不需要的分支[/不小心创建的]分支?
更新 文本来自git bash[Windows]
$ git branch -a
* calc
master
–-help
–h
–merged
remotes/origin/master
这些分支可能 未 命名为 -h
、-merged
等,而是命名为 –h
、–merged
,等等。仍然很难分辨,但第二组名称的第一个字符是破折号,而不是连字符作为第一个字符。破折号是 Unicode 字符 U+2013.
输入这样一个字符的键盘方法取决于OSand/or键盘and/or其他软件:这里很少有标准。 (在 MacOS 上,我输入它的最简单方法是按住 option 键并按 - 键。 )
要以编程方式处理它,您可以使用Python。例如,在 Python 3:
>>> import subprocess
>>> s = subprocess.check_output('git branch', shell=True).split(b'\n')
打印 s
中的值现在将分支名称生成为字节字符串列表。在我的例子中,在创建一个名为 –merged
的分支后,其中一个(s[5]
在我的测试存储库中)是:
b' \xe2\x80\x93merged'
它显示了 en-dash 的 UTF-8 编码序列:
>>> s[5].decode('utf8') == ' \N{en dash}merged'
True
>>> s[5].decode('utf8') == ' \u2013merged'
True
要删除它,我可以再次从 Python 调用 git branch -D
:
>>> subprocess.check_call('git branch -D \N{en dash}merged', shell=True)
Deleted branch –merged (was 4ede3d42df).
0
(请注意,在 Python 2.7 下,这有点不同,因为内置字符串类型相当于 bytes
类型,而不是 Python 2.7 unicode
类型。)
如图所示,不确定分支是如何创建的 -h
-merged
--help
如何删除不需要的分支[/不小心创建的]分支?
更新 文本来自git bash[Windows]
$ git branch -a
* calc
master
–-help
–h
–merged
remotes/origin/master
这些分支可能 未 命名为 -h
、-merged
等,而是命名为 –h
、–merged
,等等。仍然很难分辨,但第二组名称的第一个字符是破折号,而不是连字符作为第一个字符。破折号是 Unicode 字符 U+2013.
输入这样一个字符的键盘方法取决于OSand/or键盘and/or其他软件:这里很少有标准。 (在 MacOS 上,我输入它的最简单方法是按住 option 键并按 - 键。 )
要以编程方式处理它,您可以使用Python。例如,在 Python 3:
>>> import subprocess
>>> s = subprocess.check_output('git branch', shell=True).split(b'\n')
打印 s
中的值现在将分支名称生成为字节字符串列表。在我的例子中,在创建一个名为 –merged
的分支后,其中一个(s[5]
在我的测试存储库中)是:
b' \xe2\x80\x93merged'
它显示了 en-dash 的 UTF-8 编码序列:
>>> s[5].decode('utf8') == ' \N{en dash}merged'
True
>>> s[5].decode('utf8') == ' \u2013merged'
True
要删除它,我可以再次从 Python 调用 git branch -D
:
>>> subprocess.check_call('git branch -D \N{en dash}merged', shell=True)
Deleted branch –merged (was 4ede3d42df).
0
(请注意,在 Python 2.7 下,这有点不同,因为内置字符串类型相当于 bytes
类型,而不是 Python 2.7 unicode
类型。)