2

我不小心创建了一个名为“remotes/origin/remotes/origin/aclark”的分支,并且无法使用以下命令将其删除:

git 分支 -d 遥控器/原点/遥控器/原点/aclark

吉特说:

错误:找不到分支'remotes/origin/remotes/origin/aclark'。

我在这里尝试了一些建议:Deleting a badly named git branch,但它们更适合以“--”开头的错误分支名称。

最终用户有什么办法可以删除这个分支还是我需要一个 git 管理员?(有问题的分支住在gitorious)。

谢谢

亚历克斯

4

1 回答 1

11

这是一个远程分支,所以你需要在服务器上删除它。为此,您需要推送一个空引用。

$ git push origin :remotes/origin/aclark

注意,git push命令的语法是:

$ git push <remote> <local-reference>:<remote-branch-name>

所以在这种情况下,我们正在推送一个空引用,远程名称是我们要销毁的分支的名称。在您的情况下,分支名称“remotes/origin/remotes/origin/aclark”表示它是远程服务器名称“origin”上的远程分支,而远程服务器上的名称是“remotes/origin/aclark”。

另一个客户端将需要发出以下命令以从其本地存储库中删除分支(如果它们在存在无效分支时获取):

$ git fetch origin
$ git remote prune origin

更多信息可以在git-pushgit-remote手册页中找到。

于 2011-01-07T15:30:55.370 回答