我在Powershell中运行下面的git命令git for-each-ref --sort=-committerdate refs/remotes --format='%(refname:short)%09%(committername)'如何过滤掉(不列出)refname以'origin/Release'开头的分支?
git for-each-ref --sort=-committerdate refs/remotes --format='%(refname:short)%09%(committername)'
yvgpqqbh1#
使用-match regex比较运算符--与PowerShell中的其他比较运算符一样,如果您在左侧传递一个数组,它将充当过滤器:
-match
$branchesWithCommitter = @(git for-each-ref --sort=-committerdate refs/remotes --format='%(refname:short)%09%(committername)') $branchesWithCommitter -match '^origin/release'
@(...)数组子表达式运算符将阻塞,直到git.exe返回。如果你想看到git.exe输出的几乎实时的代码行,可以将输出传输到Where-Object,并在每一行使用-match:
@(...)
git.exe
Where-Object
git for-each-ref --sort=-committerdate refs/remotes --format='%(refname:short)%09%(committername)' |Where-Object { $_ -match '^origin/release' }
1条答案
按热度按时间yvgpqqbh1#
使用
-match
regex比较运算符--与PowerShell中的其他比较运算符一样,如果您在左侧传递一个数组,它将充当过滤器:@(...)
数组子表达式运算符将阻塞,直到git.exe
返回。如果你想看到git.exe输出的几乎实时的代码行,可以将输出传输到
Where-Object
,并在每一行使用-match
: