发现和删除分支

时间:2019-09-23 19:50:57

标签: git github git-branch git-bash

有什么方法可以发现我在GitBash中拥有的所有分支吗?

我想发现并删除它们。

2 个答案:

答案 0 :(得分:2)

在存储库中,如果您运行命令:

git branch

它将列出您要回购的所有本地分支机构。如果您运行:

git branch -a

它将列出您所有的本地分支以及所有可检出的远程分支。如果列表很长,您会注意到您的命令行变成单个冒号“ ”。这意味着当您按下向下键时,您可以继续滚动浏览所有可用分支。要退出此页面,只需输入 q

答案 1 :(得分:1)

本地分支机构(默认显示为git branch

最佳的处理方式当然取决于具体情况,通常您需要检查每个分支机构才能做出决定。

# different ways to check branches, depending on your needs/tastes
git branch -v
git show-branch

...并在该git for-each-ref之上,并为输出自定义formats

对于删除部分,对于单分支处理,您已经

# delete a branch (with the safety check for unmerged commits)
git branch -d some_branch

# delete a branch (WITHOUT the safety check for unmerged commits)
git branch -D some_branch

但是,如果您需要以批处理方式删除所有分支,则在确定要执行的操作时,可以为此目的使用别名。 但是要当心,请确保仅将其用作擦除机制以删除每个合并的分支。(因此,每个分支在其远程副本中完全合并,或者在HEAD中完全合并没有上游的本地分支机构

# to create an all-local-branches wiping alias
git config --global alias.wipe 'git branch -d $(git for-each-ref --format="%(refname:short)" refs/heads)'

然后就

git wipe

它不会删除未合并的分支(由于-d),但这通常是一件好事。 在这里很难确定,我不敢假设,因为我们对您的情况了解不多,因此,如果它对您的情况没有帮助,请随时发表评论(如果您需要一次检查分支机构时间),我将删除题外部分。

远程分支(显示为git branch -r

通过发送到远程仓库以删除引用的请求来删除远程分支,包括几种可能的形式,但主要是:

git push --delete origin some_branch
# or alternatively
git push origin :some_branch

尽管,根据您的远程存储库设置,它是否可以被接受。