Git can';t切换到或删除分支
在git中,我命名了一个分支Git can';t切换到或删除分支,git,branch,Git,Branch,在git中,我命名了一个分支2020。我现在无法切换到该分支,当我尝试删除它时,会出现错误fatal:branch name required。我已经试过常规的git branch-d2020和forcegit branch-d2020 我也尝试过将分支名称放在引号中,但我得到了相同的错误 我再也不要这家分行了,有什么办法吗 更新:我可以使用git checkout refs/heads/2020签出分支,但我不能通过同样的操作将其删除 更新2:导航到.git/refs/然后将2020重命名为2
2020
。我现在无法切换到该分支,当我尝试删除它时,会出现错误fatal:branch name required
。我已经试过常规的git branch-d2020
和forcegit branch-d2020
我也尝试过将分支名称放在引号中,但我得到了相同的错误
我再也不要这家分行了,有什么办法吗
更新:我可以使用git checkout refs/heads/2020
签出分支,但我不能通过同样的操作将其删除
更新2:导航到.git/refs/然后将2020重命名为2020s使我可以删除它。不管git在玩什么,我都不知道。导航到.git/refs/然后将2020更名为2020年代,我可以删除它
我仍然不知道是什么原因造成的,或者是否有其他补救措施,但它似乎已经被分类。这里的问题是
2020
看起来像一个缩写的SHA-1
我以前也做过类似的事情,用了类似这样的话:我有一家分店,我的名字叫cafe
或类似的名字
诀窍是在分支名称中加入一些非数字、非“a到f”字符(您可以使用
git branch-m
而不是您使用的低级方法重命名它),这样git就可以判断它不是SHA-1。git branch是否显示列出的分支?它在列表中显示为分支,是的。如果它已列出,请尝试重命名该分支并再次删除它-m[旧名称][新名称]我刚刚创建了一个具有该名称的分支,并将其删除。已使用您正在运行的同一命令成功删除。似乎还有其他问题。我投了赞成票,因为它解释了为什么会发生这种情况,但是你提供的解决方案对我不起作用。Git无法重命名该分支。谢谢:)毫无疑问,您不再有问题了:-)但是当您尝试git分支-m 2020 2020s时发生了什么?(啊,我在上面看到了:你有一个2020s
,但是2020
还活着。这很奇怪,当我尝试同样的方法时,它只是重命名了它。)当我使用的工具拒绝执行我的要求时,我求助于老式方法:p对我来说,它看起来仍然很奇怪,但现在它已经全部排序好了。吸取的教训是,使用更好的命名约定!