使用git远程修剪原点,我可以删除不在远程上的本地分支。
但是我还想删除从这些远程分支创建的本地分支(检查它们是否未合并会很好)。
我该怎么做呢?
使用git远程修剪原点,我可以删除不在远程上的本地分支。
但是我还想删除从这些远程分支创建的本地分支(检查它们是否未合并会很好)。
我该怎么做呢?
当前回答
使用GUI?手动操作,但快捷方便。
$ git gui
选择“分支->删除”。您可以使用ctrl-click(窗口)选择多个分支并删除它们。
其他回答
更短更安全的一行代码:
git branch -d $(git branch --merged | cut -c 3- | grep -v master)
在运行分支之前,请确保签出到尚未合并的分支。因为您不能删除当前签入的分支。
似乎没有一个安全的一行代码,有太多的边缘情况(比如分支的名称中有“master”,等等)。最安全的是以下步骤:
Git分支-vv | grep 'gone]' > stale_branches.txt 查看文件并删除想要保留的分支(例如主分支!);您不需要编辑任何一行的内容 Awk '{print $1}' stale_branches.txt | xargs git branch -d
你可以通过一些简单的操作来做到这一点:
输出你所有的分支到一个临时文件:
git branch > branches.tmp
打开文件并删除分支以排除它们从本地删除(分支如develop/master/main/…) 通过cat命令将分支名称传递给xargs并删除分支:
cat branches.tmp | xargs git branch -D
删除远程分支:
$git remote prune origin
删除已合并的本地分支。
$git branch -D $(git branch --merged)
git分支的Powershell版本——merged master | grep -v '^[*]*master$' | xargs git branch -d
git分支——合并主| % {if ($ _ -notmatch \ *。*主){git分支- d " $(美元_.Trim())”}}
当您在主分支上时,这将删除已合并到主分支中的任何本地分支。
Git检查主切换。