如何删除GitHub分支?
在不必要的时候摧毁某物是一件必要的事情。
这为新事物创造了更多的空间,并使我们更容易地维护其他事物。因此,今天我们将探讨在GitHub中删除分支的不同方法。
分支就像是开发者们的天赐之物。如果你是一个developer,你知道我在说什么。如果你熟悉分支的实际用例,你可以跳过下一节,直接阅读删除分支的部分。如果你是一个初学者或者对git
和分支感到好奇,请继续阅读。
分支是什么?
分支是指向提交的指针。阅读是不足以理解分支的。我们需要看看分支的工作原理才能清楚地理解它们。
我们将通过一些插图来看看实际的开发者如何在项目中使用分支。请注意,插图中的每个圆圈代表一个提交。
让我们通过一个简单的实时场景来了解分支的工作流程。
- 假设你在一个product development团队中工作。
- 有一天,团队负责人走到你面前说:“嘿,我们的产品出了一些错误。你需要修复它们。”
- 你说:“好的,没问题。”
- 你的git提交如下。
- 你是从master分支工作吗?
- 当然不是。如果你从master分支工作,将来可能会遇到严重的问题。我们将在一段时间后演示它将如何发生。
- 现在,你决定从master分支创建另一个分支来修复错误。当前,两个分支将指向相同的分支。
- 你开始修复错误并进行了5次提交。因此,你的新分支将如下所示。
- 你的新分支指向C8提交,而我们的master分支指向C3提交。
- 现在,一个意想不到的事情发生了。你的团队负责人再次走到你面前说:“嘿,我们的产品中有一个重要的错误,需要立即修复。”
- 哇!这是很多工作。
- 你已经在处理错误修复了。现在,又有了比之前更重要的错误。
- 所以,你必须切换到修复新错误的工作。
- 那么你已经写好的代码怎么办?
- 没有问题,因为你已经创建了一个新分支来修复之前的错误。你目前正在工作的所有代码都在bug-fix分支中。
- 现在,切换到master分支并创建另一个新分支critical-bug-fix并开始修复新的错误。
- 假设你没有为之前的错误创建一个新分支。你认为会发生什么?
- 你必须删除所有为之前的错误编写的代码,并开始修复新的错误。而且你还必须重新编写之前错误的代码。
- 这就是我们所说的确切问题。
- 所以,分支帮助我们独立地开发代码。
- 现在,你已经编写了一些代码来修复新的错误并提交了它们。
- 你已经完成了修复新错误的工作。
- 现在,你切换到之前的错误分支并开始处理它们。
因此,通过分支的帮助,您正在非常谨慎地管理事物。没有混乱。如果没有分支这样的东西,那么想象一下我们会陷入的境地。
因此,结论很明确,分支对于像我们这样的开发人员来说是一种福音。
话不多说,让我们看看如何删除分支。
使用Git客户端删除分支
当我们谈论删除分支时,我们是在本地和远程删除它。因此,当我们两次删除相同的分支时,请不要让自己困惑。让我们看看删除分支的步骤。
- 打开终端或cmd并导航到git存储库。
- 使用命令
git branch -a
查看存储库中存在的分支。它将显示本地和远程分支。
- 复制要删除的分支名称。在上述情况下,它是one。
- 切换到master或main或其他不是要删除的分支的分支。
- 使用
git branch -d branchName
删除本地分支。将branchName
替换为实际的分支名称。
- 使用
git branch -a
命令检查分支。您仍然会在远程中找到已删除的分支,因为我们没有在远程中删除它。
- 要在远程中删除分支,请运行
git push remoteName -d branchName
命令。将remoteName
和branchName
替换为适当的名称。
- 有一个快捷命令可以远程删除分支。该命令是
git push remoteName :branchName
。
现在,重新检查分支。如果您正确地按照上述步骤操作,您将在本地和远程都没有找到已删除的分支。
如果我们尝试删除不存在的分支,将会收到一个未找到分支的错误消息。
就是这样,我们已成功删除了本地和远程分支。
使用GitHub Web应用程序有略微不同的方法。
让我们看看。
使用Web删除分支
此方法与上述方法之间没有太大区别。在这里,我们将使用GitHub Web应用程序删除远程分支。我们将像上述方法中一样删除本地分支。
让我们看看如何使用GitHub Web应用程序删除远程分支。
- 转到GitHub。
- 登录到您的帐户。
- 导航到您想要删除分支的存储库。
- 单击“分支”按钮以查看存储库的所有分支。
- 您将看到存储库的分支。
- 并且您还会在末尾看到一个删除图标。
- 单击删除图标以删除远程分支。
- 我们可以通过点击恢复按钮来恢复分支。在刷新或关闭页面之前,它将一直可用。
现在,我们已经在远程删除了分支。转到本地仓库并使用我们在第一种方法中看到的命令删除分支。
现在,运行命令git branch -a
来检查所有分支。
我们仍然在列表中看到已删除的远程分支。这是什么?我们如何解决它?看下面的情况,你将在工作中遇到这种类型的情况。
假设你正在一个团队中工作。当完成特定任务时,你的团队领导删除了一个远程分支。你怎么知道这件事?有没有办法知道远程删除的分支?
我们需要同步本地和远程仓库关于已删除分支的信息。有一些命令可以做到这一点。它们是:
git remote prune remoteName
git fetch -p remoteName
在第二个命令中,-p
是prune
的快捷方式。上述两个命令中的prune选项会删除对远程的引用。
现在,运行命令git branch -a
来检查分支列表。
你会发现远程分支没有显示在列表中。但是,本地分支仍然存在。是的,没问题。你可以保留或删除它。
所以,检查那些在远程不存在但在本地存在的分支。删除在远程已删除的本地分支。
你的分支现在是干净的。可以继续进行。
总结
大多数时候,我们会使用终端或命令提示符进行任何git操作。这很方便。但这并非强制性。到一天结束时,这是个人偏好。
无论你使用什么工具或方法,结果都是相同的。选择你熟悉且方便的方式,并按照它完成任务-删除一个分支的两个步骤。在本地和远程删除。
接下来,了解如何delete the GitHub repo。
开发愉快 🙂