我在删除git branch时遇到问题。起初我能够使用'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.
你能帮我怎么删除这个分支吗?
答案 0 :(得分:0)
您可以使用git branch --list rrseria*
仅列出名称以rrseria
开头的分支。如果有多个模式,则可以使用*
通配符作为非ASCII字符(rrseria*l_test_utility
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
)。