gpt4 book ai didi

git - 删除名称与特定模式匹配的 git 分支

转载 作者:IT王子 更新时间:2023-10-29 01:18:22 24 4
gpt4 key购买 nike

如何删除 git 中以字母 'o' 开头的分支?

假设,我有一个如下所示的分支列表:

origin_alpha
origin_beta
origin_gamma
alpha
beta
gamma

我不想删除分支 origin_alphaorigin_betaorigin_gamma

最佳答案

更新:-r xargs 的选项是一个 GNU 插件。除非你使用 xargs从 GNU findutils 它可能无法工作。您可以省略它,但如果通过管道传输到 xargs 的输入为空,则会导致错误。


您可以使用 git branch --list <pattern>并将其输出到 xargs git branch -d :

git branch --list 'o*' | xargs -r git branch -d

顺便说一句,上面的代码有一个小问题。如果您当前 checkout 了以 o 开头的分支之一git branch --list 'o*' 的输出看起来像这样:

* origin_master
origin_test
o_what_a_branch

注意星号 *在当前分支名称的前面。

虽然您无论如何都不能删除当前分支,但这会导致 xargs 也通过 * 的事实至 git branch delete .

正如我所说,这只是一个表面错误,但如果你想避免它,请使用:

git branch --list 'o*' | sed 's/^* //' | xargs -r git branch -d

关于git - 删除名称与特定模式匹配的 git 分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33631326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com