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

标签 git git-branch

我不小心创建了一个名为“remotes/origin/remotes/origin/aclark”的分支,并且无法删除它:

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

Git 说:

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

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

最终用户有什么方法可以删除这个分支,或者我需要一个 git 管理员吗? (有问题的分支位于 gitorious)。

谢谢

亚历克斯

最佳答案

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

$ 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-push 中找到和 git-remote联机帮助页。

关于git - 删除一个名字很糟糕的 git 分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4627109/

相关文章:

git - Araxis 与 Git merge 三路文件比较

git - 缺少 git 支持,使用 'Install-Module posh-git' 安装 posh-git 并重新启动 cmder

git - 如何在 git 中启用 shell 选项?

git - 为什么 git commit --amend 会更改散列,即使我没有进行任何更改?

git - 通过 Git 远程跟踪分支的给定名称如何找到哪个本地分支跟踪它?

Git - 每个分支的不同远程

git - 对于 Git 存储库,GitHub 相对于 Bitbucket 的优势

git - 具有多个本地跟踪分支的远程分支

git - 如何将文件从master分支推送到另一个分支?

Git - 搞砸后回滚所有本地更改