Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git can';t切换到或删除分支_Git_Branch - Fatal编程技术网

Git can';t切换到或删除分支

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

在git中,我命名了一个分支
2020
。我现在无法切换到该分支,当我尝试删除它时,会出现错误
fatal:branch name required
。我已经试过常规的
git branch-d2020
和force
git 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对我来说,它看起来仍然很奇怪,但现在它已经全部排序好了。吸取的教训是,使用更好的命名约定!