如何删除除 development 和 main 之外的分支
How to remove branches except for development and main
目标 删除除少数例外的所有分支。在我的例子中:development, main
我找到了这个命令,但它只适用于 main。
git branch | grep -v "main" | xargs git branch -D
我以为你可以这样做:
git branch | grep -v "main|development" | xargs git branch -D
但这不起作用。
基本正则表达式要求您对 |
进行转义,否则该 |
将被视为文字字符,以表示交替。
git branch | grep -v "main\|development"
如果你的grep
版本支持,你可以使用扩展正则表达式,其中|
是交替运算符
git branch | grep -Ev "main|development"
在你的模式中逃离管道 \|
。像那样:
git branch | grep -v "branchName1\|branchName2\|branchName3" | xargs git branch -D
git branch | grep -v -E "branchName1|branchName2|branchName3" | xargs git branch -D
参数简述
-v or --invert-match
-v 参数 returns 所有 non-matching 行,这很重要,因为要删除它们。
-E or --extended-regexp
表示您传递的模式是用于搜索的扩展正则表达式。然后就可以不用转义就用管道分开了
目标 删除除少数例外的所有分支。在我的例子中:development, main
我找到了这个命令,但它只适用于 main。
git branch | grep -v "main" | xargs git branch -D
我以为你可以这样做:
git branch | grep -v "main|development" | xargs git branch -D
但这不起作用。
基本正则表达式要求您对 |
进行转义,否则该 |
将被视为文字字符,以表示交替。
git branch | grep -v "main\|development"
如果你的grep
版本支持,你可以使用扩展正则表达式,其中|
是交替运算符
git branch | grep -Ev "main|development"
在你的模式中逃离管道 \|
。像那样:
git branch | grep -v "branchName1\|branchName2\|branchName3" | xargs git branch -D
git branch | grep -v -E "branchName1|branchName2|branchName3" | xargs git branch -D
参数简述
-v or --invert-match
-v 参数 returns 所有 non-matching 行,这很重要,因为要删除它们。
-E or --extended-regexp
表示您传递的模式是用于搜索的扩展正则表达式。然后就可以不用转义就用管道分开了