【问题标题】:git branch -d <branchname> throws error: branch <branchname> not foundgit branch -d <branchname> 抛出错误:找不到分支 <branchname>
【发布时间】:2015-02-11 18:47:40
【问题描述】:

当我输入 git branch 时,我得到了

* master
localbranch

但是当我尝试删除分支git branch -d localbranch 时,我得到一个未找到的错误:

error: branch 'localbranch' not found.

我也尝试使用git branch -D localbranch 强制删除,但它给了我同样的错误。

分支已损坏,我执行了以下过程 Git repository corrupt (incorrect header check; loose object is corrupt) 来删除损坏的文件。但是现在我无法删除分支。

【问题讨论】:

    标签: git git-branch


    【解决方案1】:

    分支存储为包含它们指向的 SHA 的文件。尝试从项目中的.git/refs/head/ 目录中删除此分支的文件localbranch

    rm .git/refs/heads/localbranch
    

    【讨论】:

    • 请注意,如果远程服务器上也存在此分支(尽管分支名称不建议这样做),您可以使用git push origin :branchname 来执行此操作。
    • 该文件只有在分支引用被解包时才会存在,最好执行一个明确引用refs/heads/localbranch而不使用.git目录的git命令
    • @AndrewC 因为这是一个本地分支,我们可以假设它会被解包吗?另外,OP 明确提到 git branch -d localbranch 对他不起作用,所以我很好奇这里的本地命令会起作用...您是要尝试 git branch -d refs/heads/localbranch 吗?
    • @AndrewC git branch -d refs/heads/localbranch 也不起作用。
    • 我会推荐 git update-ref 并且只在 .git 目录中闲逛作为最后的手段,注意分支可能会在 .git/packed-refs 中找到
    【解决方案2】:

    在某些情况下,分支包含不显示在终端窗口中的字符,因此我需要直接转到存储库。

    我的 Windows 版 Git 最终处于这种状态:

    $ git branch -l
      master
    * next
      my-topic-branch
    

    但删除失败

    $ git branch -D my-topic-branch
    error: branch 'my-topic-branch' not found.
    

    显示头目录的内容显示分支名称更复杂...

    $ ls -al .git/refs/heads
    total 7
    drwxr-xr-x 1 112802 197121  0 Oct 11 13:06 ./
    drwxr-xr-x 1 112802 197121  0 Jul 11 14:30 ../
    -rw-r--r-- 1 112802 197121 41 Oct  4 12:39 ''$'\302\222''my-topic-branch'
    -rw-r--r-- 1 112802 197121 41 Sep 15 15:23 master
    -rw-r--r-- 1 112802 197121 41 Oct 11 13:05 next
    drwxr-xr-x 1 112802 197121  0 Jul 12 13:28 origin/
    

    我可以成功删除全名

    $ git branch -D ''$'\302\222''my-topic-branch'
    Deleted branch my-topic-branch (was efbc2fa).
    

    【讨论】:

      猜你喜欢
      • 2011-10-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-04
      • 2021-07-13
      • 1970-01-01
      • 2011-10-10
      • 2011-11-06
      • 2015-02-04
      相关资源
      最近更新 更多