我如何在git branch<;branchname>;在地球上

我如何在git branch<;branchname>;在地球上,git,glob,Git,Glob,我正在尝试运行: git分支-D错误修复程序/* 删除多个前缀相同但返回 zsh:未找到匹配项:错误修复/ 如何匹配此命令的regex?首先,我将检查并确保我的regex以正确的分支为目标: git分支机构| grep“bugfix/” 其次,在确认返回了预期的分支后,使用以下命令删除它们: git-branch | grep“bugfix/”| xargs-git-branch-D(我真的不认为您需要下面的内容,但除了其他答案之外,它可能会对与git相关的脚本有更多的帮助。) git-br

我正在尝试运行:

git分支-D错误修复程序/*
删除多个前缀相同但返回

zsh:未找到匹配项:错误修复/

如何匹配此命令的regex?

首先,我将检查并确保我的regex以正确的分支为目标:

git分支机构| grep“bugfix/”

其次,在确认返回了预期的分支后,使用以下命令删除它们:

git-branch | grep“bugfix/”| xargs-git-branch-D

(我真的不认为您需要下面的内容,但除了其他答案之外,它可能会对与git相关的脚本有更多的帮助。)

git-branch
是一个高级的、专门的命令,它不是设计用来在脚本中使用或被其他命令使用的(尽管您可以用任何方式对其进行管道传输,
grep
就是其中之一)。您可以使用。此外,您的模式非常适合它,因此您不需要使用
grep
。您所需要的只是:

每个ref的git--format='%(refname)'refs/heads/bugfix 此命令生成以
refs/heads/bugfix/
开头的所有引用(例如
refs/heads/bugfix
与模式不匹配(但不确定Windows)。在内部,您可以通过其内部名称引用任何分支,例如本地
ref/heads/master
(如果没有歧义
heads/master
,则更短)或远程
ref/remotes/origin/master
(或
remotes/origin/master
)等。为每个ref运行
git而不使用ref参数将生成所有引用,因此,您可以检查所有这些,并查看它们都遵循的模式

在git中更新引用的另一个低级、垂直的命令是允许在低级操作引用,其中删除引用可以通过使用
-d
开关来完成:

git更新参考-d参考/heads/bugfix/foo
将上述命令组合成单个管道命令如下:

git for each ref--format='%(refname)'refs/heads/bugfix | xargs-I{}git update ref-d{


读取时-r REF;执行echo“rm$REF$(git rev parse$REF)”;git更新参考-d“$ref”;完成<旁注:
bugfix/*
在技术上是一个glob表达式,而不是正则表达式。(Regex比glob更强大,所以这种区别很有用。)一般来说,我们使用的工具不是shell本身,比如。