删除 git 分支的替代方法(如果 git branch -d 不起作用)

删除 git 分支的替代方法(如果 git branch -d 不起作用)

我使用 git 进行软件开发。我不使用 Microsoft OneNote。但是,在某些情况下,OneNote 会作为右键单击菜单的一个选项出现。我在尝试对 git repo 中包含的文件执行其他操作时不小心按下了它。我关闭了它,但在检查我的 git 存储库时,我发现它在我的存储库的每个目录中都创建了一个 OneNote 文件。

此外,现在有一个标记为的 git 分支,OneNote Table Of Contents.onetoc2 请注意,分支名称中有空格。我可以删除所有 OneNote 文件,但无法删除多余的分支。

除了 git branch -d 选项之外,还有其他删除分支的方法吗?我使用 Windows 7 Home Premium。

答案1

Git 中本地创建的分支只是.git/refs目录内包含 Git 提交对象的 SHA1 哈希的文件。因此,您可以通过删除相应的文件来移除这些分支。

这个特定的分支可能在.git/refs/heads目录中;如果是这样,则此命令应该从存储库的根目录运行:

del ".git\refs\heads\OneNote Table Of Contents.onetoc2"

答案2

尝试使用 Git 扩展。由于 git 中不允许使用空格,我敢打赌这些是您无法输入的其他字符(不过很奇怪这些字符是如何潜入的)。一个像样的 GUI 应该能够重现分支名称以用于删除目的,无论它是什么。

相关内容