git repo 有不同的分支是很常见的。它们是处理不同功能和修复的好方法,同时将新代码与主代码库隔离。存储库通常有一个主代码库的主分支或主分支,开发人员使用他们选择的名称(或根据组织的要求)创建其他分支,以处理不同的功能或修复。大多数情况下,您可能必须删除 git 分支,因为一些不可逆转的更改、安全问题或相关项目的特定功能已构建。在大多数情况下,删除 git 分支很简单。在本文中,我将指导您完成如何安全删除 git 分支的整个过程。首先,我已经使用以下命令在我的 repo 中创建了一个新分支:
git checkout -b
这里
以下是我的 Github 存储库的快照,其中包含远程测试分支。
本地删除一个分支
Git 不允许您删除当前正在处理的分支。因此,您必须确保结帐到您没有删除的分支。为此,请使用以下命令:
git checkout
在这里,我们将从我的测试分支检查我们的主分支。
现在为了在本地删除测试分支,我们使用命令:
git branch -d
我们将删除我的测试分支作为示例。
注意: -d 选项仅在分支已经被推送并与远程分支合并时才会删除该分支。如果要强行删除分支,则必须改用 -D 选项。 -D 标志与 –delete –force 同义。即使它没有被推送或与远程合并,这也会强行删除分支。完整的命令是:
git branch -D
这样,我们就可以成功删除本地分支了。
远程删除分支
不能使用 git branch 命令删除远程分支。相反,您必须使用带有 –delete 标志的 git push 命令,后跟我们要删除的分支的名称。您还需要在“git push”之后指定远程名称(本例中的来源)。命令如下:
git push --delete
在这里,我将删除远程存储库中的测试分支,如下所示。
此命令将远程删除分支。您还可以使用简写:
git push :
如您所见,我的 GitHub 存储库中不再存在我的远程分支:
这样,我们就成功地删除了我们的远程分支。许多人在此步骤中面临的一个常见错误是:
error: unable to push to unqualified destination: remoteBranchName The destination refspec neither matches an existing ref on the remote nor begins with refs/, and we are unable to guess a prefix based on the source ref. error: failed to push some refs to ‘git@repository_name’
这意味着有人已经删除了您要删除的分支。如果发生这种情况,您可以使用以下命令在本地环境中同步您的分支列表:
git fetch -p
此处的 -p 标志表示“修剪”。获取远程不再存在的分支后,将在您的本地工作环境中删除。