如何删除本地/远程Git分支

目录

删除本地分支

删除远程分支

如何删除所有非合并的Git分支?

删除所有不在远程上的本地分支

删除除Master以外的所有本地Git分支

结论


在本文中,您将在定义什么是Git分支以及删除分支的副作用之后,学习如何在Git中删除本地和远程分支。

如果您以前曾与Git一起工作过,以对Angular代码进行版本控制,那么您很有可能要删除一个或多个远程分支。开发人员经常发生这种情况,特别是在大型项目中。

在本文中,我们将学习:

  • 如何在您的Git存储库中删除本地分支
  • 如何在Git中删除远程分支
  • 如何删除所有已合并的Git分支
  • 如何删除所有不在远程上的本地分支
  • 如何删除除master以外的所有本地Git分支

在解决如何删除远程分支之前,我们将首先了解如何在本地Git存储库中删除分支。

注意:版本控制系统是现代Web开发中必不可少的工具,可以帮助您解决与每个任务相关的许多问题。Git是当今最受欢迎的版本控制系统之一。

在继续学习如何在Git中删除本地和远程分支之前,让我们定义什么是Git分支以及删除分支的副作用。

Git中的分支是指向提交的指针。如果删除分支,它将删除指向提交的指针。这意味着,如果删除尚未合并的分支,并且其他任何分支或标记都无法提交,则Git垃圾回收最终将删除不可达的提交。

删除本地分支

让我们开始学习如何删除本地分支。

  1. 首先,使用git branch -a命令显示所有分支(本地和远程)。
  2. 接下来,您可以使用以下git branch -d命令删除本地分支,然后是要删除的分支的名称。
$ git branch -a 

# *master # b1 # remote/origin/master # remote/origin/b1 
$ git branch -d b1 # Deleted branch b1.

注意:也可以使用-D等效于--delete --force命令的标志代替-d。这将使您可以删除本地分支,而不考虑其合并状态。

删除远程分支

与本地分支不同,您不能使用git branch命令删除远程分支。但是,您需要使用git push --delete命令,后跟要删除的分支的名称。您还需要在git push之后指定remote名称(origin在这种情况下)。

$ git branch -a

# *master
# b1
# remote/origin/master
# remote/origin/b1

$ git push origin --delete b1
# [...]
# - [deleted] b1

如何删除所有非合并的Git分支?

既然我们已经了解了如何删除Git存储库中的本地和远程分支,那么假设您有多个Git分支。如何删除已经合并的分支?一次性的,而不是逐个删除它们。

注意:合并是使用git merge命令执行的,它只是意味着集成来自另一个分支的更改。

首先,您需要使用以下命令获取在远程存储库中合并的所有分支:

$ git branch --merged

如果您有一个合并分支,则可以使用以下命令简单地删除合并的本地分支:

$ git branch -d branch-name

如果要从远程存储库中删除它,请使用以下命令:

$ git push --delete origin branch-name

删除所有不在远程上的本地分支

您可以删除不在远程存储库上的所有本地分支,可以使用以下bash命令:

$ git branch -r | egrep -v -f /dev/fd/0  <(git branch -vv | grep origin) | xargs git branch -d

让我们打破这个命令:

  1. 首先,我们使用以下git branch -r 命令获取所有远程分支
  2. 接下来,使用以下egrep -v -f /dev/fd/0 <(git branch -vv | grep origin)命令获取不在远程上的本地分支 
  3. 最后,我们使用以下xargs git branch -d命令删除分支

grep是一个命令行实用程序,用于在纯文本数据集中搜索与正则表达式匹配的行。它的名称来自ed命令g/re/p(全局搜索正则表达式并打印匹配的行),其作用相同。grep最初是为Unix操作系统开发的,但后来可用于所有类似Unix的系统以及某些其他操作系统,例如OS-9

xargseXtended ARGuments”的缩写)是Unix和大多数类似Unix的操作系统上的命令,用于从标准输入生成和执行命令。它将输入从标准输入转换为参数到命令。

删除除Master以外的所有本地Git分支

如果您已经完成了本地Git分支,通常最好删除它们以释放它们的空间。您可以简单地运行以下命令:

$ git branch | grep -v "master" | xargs git branch -D

我们使用grep -v "master"命令搜索除master以外的分支,然后使用git branch -D命令将其删除。

结论

在本文中,我们已经了解了如何从Git存储库中删除远程和本地分支。我们了解到:

  • 如何在您的Git存储库中删除本地分支
  • 如何在Git中删除远程分支
  • 如何删除所有已合并的Git分支
  • 如何删除所有不在远程上的本地分支
  • 如何删除除master以外的所有本地Git分支
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值