有什么方法可以发现我在GitBash中拥有的所有分支吗?
我想发现并删除它们。
答案 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
尽管,根据您的远程存储库设置,它是否可以被接受。