Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除本地空git分支_Git_Git Branch - Fatal编程技术网

如何删除本地空git分支

如何删除本地空git分支,git,git-branch,Git,Git Branch,我创建了一个本地空分支,其中包含: mkdir test cd test git checkout -b branch_local 我无法通过以下方式删除它: git branch -D branch_local 我明白了 error: Cannot delete branch 'branch_local' checked out at 'D:/test' 请告知。如果要删除存储库并保留其中的文件,可以删除测试/中的.git/目录。警告:这将破坏您的历史记录 如果要删除存储库和文件,可以删

我创建了一个本地空分支,其中包含:

mkdir test
cd test
git checkout -b branch_local
我无法通过以下方式删除它:

git branch -D branch_local
我明白了

error: Cannot delete branch 'branch_local' checked out at 'D:/test'

请告知。

如果要删除存储库并保留其中的文件,可以删除
测试/
中的
.git/
目录。警告:这将破坏您的历史记录

如果要删除存储库和文件,可以删除目录
test/
。警告:这将销毁历史记录和文件

如果您想销毁新分支并切换到另一个分支(我认为这是您想要做的),您需要首先检查该分支。 如果存在,则运行
git checkout&&git branch-D branch\u local
。如果另一个分支不存在,则添加
-b
标志:
git checkout-b&&git branch-D branch\u local
警告:除非保留提交哈希并防止任何垃圾收集,否则
branch\u local
中的历史记录将丢失

如果要删除分支而不签出新分支,可以删除文件
.git/refs/heads/branch\u local
。Git仍然会认为您签出了该分支,因为该名称位于
.Git/HEAD
文件中,并且该文件是存储库有效所必需的

请注意,如果从初始提交创建新分支,则文件
.git/refs/heads/branch\u local
将不存在,分支也将不存在。 如果进行提交,则该名称只是要创建的分支的名称,并且该名称存储在包含行的
.git/HEAD
文件中

ref: refs/heads/branch_local
因此,您可以直接编辑该文件,或者使用上面的git命令进行编辑


总之,
.git/HEAD
文件中必须有分支的名称,否则存储库无效,无论分支是否实际存在。

在删除要删除的分支之前,请签出不同的分支。 例如:

步骤1:git签出主机

第2步:git分行-D分行\u本地


branch\u local是要删除的分支的名称。

您需要先签出其他分支,但您是要删除存储库还是分支?您是要删除整个存储库还是分支?您的问题和上下文非常模糊。您列出的命令不会创建或删除存储库。他们经营分支机构。请阅读中有关Git概念的更多信息。谢谢,我已经编辑了这个问题。这是分支机构的创建和删除,不是回购。谢谢!我没有找到文件:.git/refs/heads/branch\u local。因此,我从.git/HEAD中删除了ref:refs/heads/branch_local。我想知道是否有一个命令可以在不签出新分支的情况下删除分支。我认为您忽略了最后一段:该文件中必须有分支的名称。如果在存储库中运行
git status
,现在应该会收到一条错误消息。我建议你把那一行放回去,但是用另一行替换分支名称。请重新阅读我之前的评论。头文件中有一行是我为了删除本地分支而删除的。但是,我找不到以您在第4段第1句中提到的本地分支机构命名的文件。如果pwd未连接到回购,则步骤1将失败。