删除一个名字很糟糕的git分支

acl*_*ark 2 git git-branch

我不小心创建了一个名为"遥控器/原点/遥控器/原点/ aclark"的分支,并且无法删除它:

git branch -d remotes/origin/remotes/origin/aclark

Git说:

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

我在这里尝试了一些建议:删除一个命名不好的git分支,但它们更倾向于以" - "开头的坏分支名称.

有没有最终用户可以删除此分支或我需要一个git管理员?(有问题的分支住在有名的).

谢谢

亚历克斯

Syl*_*sne 11

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

$ git push origin :remotes/origin/aclark
Run Code Online (Sandbox Code Playgroud)

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

$ git push <remote> <local-reference>:<remote-branch-name>
Run Code Online (Sandbox Code Playgroud)

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

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

$ git fetch origin
$ git remote prune origin
Run Code Online (Sandbox Code Playgroud)

可以在git-pushgit-remote联机帮助页中找到更多信息.