删除git分支的任何内容,而不是名称

删除git分支的任何内容,而不是名称,git,git-branch,Git,Git Branch,我在删除git分支时遇到问题。起初,我能够使用“git checkout-b…”创建它。但在我看来,我在写作时犯了一个错误,打错了什么,然后退格。这导致该分支机构的名称错误 我可以处理这个分支,甚至可以将它推到远程,但它会产生奇怪的行为(在web界面中看不到分支) git branch-r向我展示了 origin/master origin/rrseria_test_utility 在web界面(bitbucket)中,我可以在具有以下名称的提交中看到此分支 rrseriaÅl_test_ut

我在删除git分支时遇到问题。起初,我能够使用“git checkout-b…”创建它。但在我看来,我在写作时犯了一个错误,打错了什么,然后退格。这导致该分支机构的名称错误

我可以处理这个分支,甚至可以将它推到远程,但它会产生奇怪的行为(在web界面中看不到分支)

git branch-r向我展示了

origin/master
origin/rrseria_test_utility
在web界面(bitbucket)中,我可以在具有以下名称的提交中看到此分支

rrseriaÅl_test_utility
请注意,大写字母A不仅仅是A,而是上面带圆圈的A。看起来像utf-8字符“U+00C5”

当我试图移除它时

git branch -d rrseria_test_utility
error: branch 'rrseria_test_utility' not found. 

git checkout rrseria_test_utility
error: pathspec 'rrseria_test_utility' did not match any file(s) known to git. 
你能帮我删除这个分支吗

您可以使用仅列出名称以
rrseria
开头的分支。如果有多个,您可以使用更具体的模式,对非ASCII字符使用通配符(
rrseria*l_test_实用程序
f.e.)

此命令显示要删除的分支的名称

如果您在Linux或macOS上,则可以使用其输出创建Git命令来删除该分支:

git branch -d $(git branch --list rrseria*)
或者,您可以使用鼠标从
git branch--list
的输出中复制终端窗口中的分支名称,并将其粘贴(返回到终端窗口)以创建
git branch-d
命令

或者,您可以使用您喜爱的文件管理器在
.git/ref/heads
目录中导航,并删除名称与分支名称匹配的文件(这是
git branch-d
在后台执行的操作)

之后,您必须将删除推送到远程存储库:

git push origin --prune refs/heads/*

如果您有多个遥控器,请对每个遥控器重复上述命令(将其名称替换为
origin
)。

您不能只键入
git branch-d rrseria
,然后使用
TAB
自动完成吗?或者复制/粘贴Å字符?或者您可以只删除
.git/refs/heads/
目录中的分支目录。您还可以使用上面介绍的技术(shell命令行替换、复制粘贴、文件操作)将分支重命名为您想要的名称,而不是删除它。只是不要忘记在重命名或删除后运行
gitpush--prune
命令,将更改也发送到远程设备。Hm。。。在我的例子中,
git分支--list partialname*
listing工作并向我显示分支,但不删除。。。同时导航到
.git/refs/head
也不会显示它。。。?是时候放弃并删除文件夹,从头开始签出项目了P