首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Select命令PowerShell (用于删除多个本地git分支)后调整空间

在Select命令PowerShell (用于删除多个本地git分支)后调整空间
EN

Stack Overflow用户
提问于 2022-09-19 08:15:50
回答 1查看 30关注 0票数 0

我的目标是删除所有的分支开始的‘法力’。

PS> git branch

代码语言:javascript
复制
  bug/5646
  chin-dev
* dev
  fea/account-manager
  fea/animation
  fea/charts
  fea/chat
  fea/dataTable
  fea/enquete
  fea/page-title
  fea/questionnaire
  fea/style
  hotfix
  master
  merge
  mod/dataTable
  question
  saif-dev
  support

我试过的命令

PS> git branch -d $(git branch | Select-String -Pattern 'fea/')

(是的,我知道Select是匹配字符串,但无论如何,在这种情况下忽略它)

命令的结果

代码语言:javascript
复制
error: branch '  fea/account-manager' not found.
...
error: branch '  fea/questionnaire' not found.
error: branch '  fea/style' not found.

正如您所看到的,它返回匹配的线也有空格。这些都是用select-string删除空间的吗?

此外,我还尝试将结果toString转换为使用Trim()

代码语言:javascript
复制
PS > $(git branch | Select-String -Pattern 'fea/' ).ToString().Trim()
System.Object[]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-19 08:26:10

  1. 您可以单独使用git branch列出一组分支(没有外部命令) :

代码语言:javascript
复制
git branch --list "fea/*"

  1. git branch现在支持--format=... option,这使得它更适合于脚本目的(例如:无需手动处理输出以移除前导*或前导空格):

代码语言:javascript
复制
git branch --format="%(refname:short)" --list "fea/*"

就Powershell处理而言:

要对命令生成的每一行(或每个对象)应用一些操作,您应该使用% { ... } (for-each-object { ... }的缩写)迭代输出:

代码语言:javascript
复制
... | % { $_.ToString().Trim() }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73770384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档